From 9a9f2b1f63a98fad67a3190ef813428b68dfdd8c Mon Sep 17 00:00:00 2001 From: Máximo Cuadros Date: Sat, 28 Jan 2017 16:26:14 +0100 Subject: storage: IndexStorer implementation --- storage/memory/storage.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'storage/memory') diff --git a/storage/memory/storage.go b/storage/memory/storage.go index ecf2efa..444f289 100644 --- a/storage/memory/storage.go +++ b/storage/memory/storage.go @@ -6,6 +6,7 @@ import ( "gopkg.in/src-d/go-git.v4/config" "gopkg.in/src-d/go-git.v4/plumbing" + "gopkg.in/src-d/go-git.v4/plumbing/format/index" "gopkg.in/src-d/go-git.v4/plumbing/storer" ) @@ -19,6 +20,7 @@ type Storage struct { ConfigStorage ObjectStorage ShallowStorage + IndexStorage ReferenceStorage } @@ -59,6 +61,23 @@ func (c *ConfigStorage) Config() (*config.Config, error) { return c.config, nil } +type IndexStorage struct { + index *index.Index +} + +func (c *IndexStorage) SetIndex(idx *index.Index) error { + c.index = idx + return nil +} + +func (c *IndexStorage) Index() (*index.Index, error) { + if c.index == nil { + c.index = &index.Index{} + } + + return c.index, nil +} + type ObjectStorage struct { Objects map[plumbing.Hash]plumbing.EncodedObject Commits map[plumbing.Hash]plumbing.EncodedObject -- cgit