aboutsummaryrefslogtreecommitdiffstats
path: root/storage/filesystem/deltaobject.go
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2017-07-27 18:04:00 +0200
committerGitHub <noreply@github.com>2017-07-27 18:04:00 +0200
commit86f33ed017b55898758bf8900a085f355b2793d0 (patch)
tree1e741bed0672a7afb62cda37ca0b1d86fad52889 /storage/filesystem/deltaobject.go
parent7b08a3005480a50f0f4290aff8f3702085d5e30d (diff)
parent16b24f84e9342234ad90da27a6532887b05d1965 (diff)
downloadgo-git-86f33ed017b55898758bf8900a085f355b2793d0.tar.gz
Merge pull request #515 from smola/reuse-packed-objects
storage: reuse deltas from packfiles
Diffstat (limited to 'storage/filesystem/deltaobject.go')
-rw-r--r--storage/filesystem/deltaobject.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/storage/filesystem/deltaobject.go b/storage/filesystem/deltaobject.go
new file mode 100644
index 0000000..66cfb71
--- /dev/null
+++ b/storage/filesystem/deltaobject.go
@@ -0,0 +1,37 @@
+package filesystem
+
+import (
+ "gopkg.in/src-d/go-git.v4/plumbing"
+)
+
+type deltaObject struct {
+ plumbing.EncodedObject
+ base plumbing.Hash
+ hash plumbing.Hash
+ size int64
+}
+
+func newDeltaObject(
+ obj plumbing.EncodedObject,
+ hash plumbing.Hash,
+ base plumbing.Hash,
+ size int64) plumbing.DeltaObject {
+ return &deltaObject{
+ EncodedObject: obj,
+ hash: hash,
+ base: base,
+ size: size,
+ }
+}
+
+func (o *deltaObject) BaseHash() plumbing.Hash {
+ return o.base
+}
+
+func (o *deltaObject) ActualSize() int64 {
+ return o.size
+}
+
+func (o *deltaObject) ActualHash() plumbing.Hash {
+ return o.hash
+}