aboutsummaryrefslogtreecommitdiffstats
path: root/storage/memory
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2017-02-21 16:03:39 +0100
committerMáximo Cuadros <mcuadros@gmail.com>2017-02-21 16:03:39 +0100
commited288b30de1ac3dcb3ce675c4b9af89eb4e6fcba (patch)
tree6eb908b839d6c225d95691d91e3d5ef5220f54c1 /storage/memory
parentd6a6decd1be0515faf36256ce06c58c7d662bbd0 (diff)
downloadgo-git-ed288b30de1ac3dcb3ce675c4b9af89eb4e6fcba.tar.gz
documentation and API improvements
Diffstat (limited to 'storage/memory')
-rw-r--r--storage/memory/storage.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/storage/memory/storage.go b/storage/memory/storage.go
index fa9a4fa..92aeec9 100644
--- a/storage/memory/storage.go
+++ b/storage/memory/storage.go
@@ -220,6 +220,11 @@ func (r ReferenceStorage) IterReferences() (storer.ReferenceIter, error) {
return storer.NewReferenceSliceIter(refs), nil
}
+func (r ReferenceStorage) RemoveReference(n plumbing.ReferenceName) error {
+ delete(r, n)
+ return nil
+}
+
type ShallowStorage []plumbing.Hash
func (s *ShallowStorage) SetShallow(commits []plumbing.Hash) error {
@@ -234,9 +239,12 @@ func (s ShallowStorage) Shallow() ([]plumbing.Hash, error) {
type ModuleStorage map[string]*Storage
func (s ModuleStorage) Module(name string) (storage.Storer, error) {
- if _, ok := s[name]; !ok {
- s[name] = NewStorage()
+ if m, ok := s[name]; ok {
+ return m, nil
}
- return s[name], nil
+ m := NewStorage()
+ s[name] = m
+
+ return m, nil
}