aboutsummaryrefslogtreecommitdiffstats
path: root/storage/memory/storage.go
diff options
context:
space:
mode:
Diffstat (limited to 'storage/memory/storage.go')
-rw-r--r--storage/memory/storage.go19
1 files changed, 19 insertions, 0 deletions
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