This repository was archived by the owner on Sep 11, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +18
-8
lines changed Expand file tree Collapse file tree 3 files changed +18
-8
lines changed Original file line number Diff line number Diff line change @@ -103,7 +103,7 @@ func (dw *deltaSelector) objectsToPack(
103103
104104 otp := newObjectToPack (o )
105105 if _ , ok := o .(plumbing.DeltaObject ); ok {
106- otp .Original = nil
106+ otp .CleanOriginal ()
107107 }
108108
109109 objectsToPack = append (objectsToPack , otp )
@@ -231,7 +231,8 @@ func (dw *deltaSelector) walk(
231231 delete (indexMap , obj .Hash ())
232232
233233 if obj .IsDelta () {
234- obj .Original = nil
234+ obj .SaveOriginalMetadata ()
235+ obj .CleanOriginal ()
235236 }
236237 }
237238
Original file line number Diff line number Diff line change @@ -233,10 +233,10 @@ func (s *EncoderSuite) deltaOverDeltaCyclicTest(c *C) {
233233 // is nil.
234234 po1 .SetOriginal (po1 .Original )
235235 pd2 .SetOriginal (pd2 .Original )
236- pd2 .SetOriginal ( nil )
236+ pd2 .CleanOriginal ( )
237237
238238 pd3 .SetOriginal (pd3 .Original )
239- pd3 .SetOriginal ( nil )
239+ pd3 .CleanOriginal ( )
240240
241241 pd4 .SetOriginal (pd4 .Original )
242242
Original file line number Diff line number Diff line change @@ -81,15 +81,24 @@ func (o *ObjectToPack) WantWrite() bool {
8181// is nil Original is set but previous resolved values are kept
8282func (o * ObjectToPack ) SetOriginal (obj plumbing.EncodedObject ) {
8383 o .Original = obj
84+ o .SaveOriginalMetadata ()
85+ }
8486
85- if obj != nil {
86- o .originalSize = obj .Size ()
87- o .originalType = obj .Type ()
88- o .originalHash = obj .Hash ()
87+ // SaveOriginalMetadata saves size, type and hash of Original object
88+ func (o * ObjectToPack ) SaveOriginalMetadata () {
89+ if o .Original != nil {
90+ o .originalSize = o .Original .Size ()
91+ o .originalType = o .Original .Type ()
92+ o .originalHash = o .Original .Hash ()
8993 o .resolvedOriginal = true
9094 }
9195}
9296
97+ // CleanOriginal sets Original to nil
98+ func (o * ObjectToPack ) CleanOriginal () {
99+ o .Original = nil
100+ }
101+
93102func (o * ObjectToPack ) Type () plumbing.ObjectType {
94103 if o .Original != nil {
95104 return o .Original .Type ()
You can’t perform that action at this time.
0 commit comments