From ac1914eac3c20efa63de8809229994364ad9639b Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Wed, 1 Nov 2017 21:06:37 +0200 Subject: First pass of prune design --- storage/memory/storage.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'storage/memory') diff --git a/storage/memory/storage.go b/storage/memory/storage.go index 3d4e84a..bfcad34 100644 --- a/storage/memory/storage.go +++ b/storage/memory/storage.go @@ -3,6 +3,7 @@ package memory import ( "fmt" + "time" "gopkg.in/src-d/go-git.v4/config" "gopkg.in/src-d/go-git.v4/plumbing" @@ -156,6 +157,28 @@ func (o *ObjectStorage) Begin() storer.Transaction { } } +func (o *ObjectStorage) ForEachObjectHash(fun func(plumbing.Hash) error) error { + for h, _ := range o.Objects { + err := fun(h) + if err != nil { + if err == storer.ErrStop { + return nil + } + return err + } + } + return nil +} + +var errNotSupported = fmt.Errorf("Not supported") + +func (s *ObjectStorage) LooseObjectTime(hash plumbing.Hash) (time.Time, error) { + return time.Time{}, errNotSupported +} +func (s *ObjectStorage) DeleteLooseObject(plumbing.Hash) error { + return errNotSupported +} + type TxObjectStorage struct { Storage *ObjectStorage Objects map[plumbing.Hash]plumbing.EncodedObject -- cgit