Documentation ¶
Overview ¶
Package memory is a storage backend base on memory
Index ¶
- Variables
- type ConfigStorage
- type IndexStorage
- type ObjectStorage
- func (o *ObjectStorage) Begin() storer.Transaction
- func (o *ObjectStorage) EncodedObject(t plumbing.ObjectType, h plumbing.Hash) (plumbing.EncodedObject, error)
- func (o *ObjectStorage) IterEncodedObjects(t plumbing.ObjectType) (storer.EncodedObjectIter, error)
- func (o *ObjectStorage) NewEncodedObject() plumbing.EncodedObject
- func (o *ObjectStorage) SetEncodedObject(obj plumbing.EncodedObject) (plumbing.Hash, error)
- type ReferenceStorage
- type ShallowStorage
- type Storage
- type TxObjectStorage
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type ConfigStorage ¶
type ConfigStorage struct {
// contains filtered or unexported fields
}
func (*ConfigStorage) Config ¶
func (c *ConfigStorage) Config() (*config.Config, error)
func (*ConfigStorage) SetConfig ¶
func (c *ConfigStorage) SetConfig(cfg *config.Config) error
type IndexStorage ¶
type IndexStorage struct {
// contains filtered or unexported fields
}
func (*IndexStorage) Index ¶
func (c *IndexStorage) Index() (*index.Index, error)
func (*IndexStorage) SetIndex ¶
func (c *IndexStorage) SetIndex(idx *index.Index) error
type ObjectStorage ¶
type ObjectStorage struct { Objects map[plumbing.Hash]plumbing.EncodedObject Commits map[plumbing.Hash]plumbing.EncodedObject Trees map[plumbing.Hash]plumbing.EncodedObject Blobs map[plumbing.Hash]plumbing.EncodedObject Tags map[plumbing.Hash]plumbing.EncodedObject }
func (*ObjectStorage) Begin ¶
func (o *ObjectStorage) Begin() storer.Transaction
func (*ObjectStorage) EncodedObject ¶
func (o *ObjectStorage) EncodedObject(t plumbing.ObjectType, h plumbing.Hash) (plumbing.EncodedObject, error)
func (*ObjectStorage) IterEncodedObjects ¶
func (o *ObjectStorage) IterEncodedObjects(t plumbing.ObjectType) (storer.EncodedObjectIter, error)
func (*ObjectStorage) NewEncodedObject ¶
func (o *ObjectStorage) NewEncodedObject() plumbing.EncodedObject
func (*ObjectStorage) SetEncodedObject ¶
func (o *ObjectStorage) SetEncodedObject(obj plumbing.EncodedObject) (plumbing.Hash, error)
type ReferenceStorage ¶
type ReferenceStorage map[plumbing.ReferenceName]*plumbing.Reference
func (ReferenceStorage) IterReferences ¶
func (r ReferenceStorage) IterReferences() (storer.ReferenceIter, error)
func (ReferenceStorage) Reference ¶
func (r ReferenceStorage) Reference(n plumbing.ReferenceName) (*plumbing.Reference, error)
func (ReferenceStorage) SetReference ¶
func (r ReferenceStorage) SetReference(ref *plumbing.Reference) error
type ShallowStorage ¶
func (*ShallowStorage) SetShallow ¶
func (s *ShallowStorage) SetShallow(commits []plumbing.Hash) error
func (ShallowStorage) Shallow ¶
func (s ShallowStorage) Shallow() ([]plumbing.Hash, error)
type Storage ¶
type Storage struct { ConfigStorage ObjectStorage ShallowStorage IndexStorage ReferenceStorage }
Storage is an implementation of git.Storer that stores data on memory, being ephemeral. The use of this storage should be done in controlled envoriments, since the representation in memory of some repository can fill the machine memory. in the other hand this storage has the best performance.
type TxObjectStorage ¶
type TxObjectStorage struct { Storage *ObjectStorage Objects map[plumbing.Hash]plumbing.EncodedObject }
func (*TxObjectStorage) Commit ¶
func (tx *TxObjectStorage) Commit() error
func (*TxObjectStorage) EncodedObject ¶
func (tx *TxObjectStorage) EncodedObject(t plumbing.ObjectType, h plumbing.Hash) (plumbing.EncodedObject, error)
func (*TxObjectStorage) Rollback ¶
func (tx *TxObjectStorage) Rollback() error
func (*TxObjectStorage) SetEncodedObject ¶
func (tx *TxObjectStorage) SetEncodedObject(obj plumbing.EncodedObject) (plumbing.Hash, error)
Click to show internal directories.
Click to hide internal directories.