From 522327b572276fe94e76ff9bb5e41b1efdf69dee Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Wed, 24 Jan 2018 18:32:16 +0100 Subject: plumbing: format/packfile, fix crash with cycle deltas Resolving cycles relied on ObjectToPack objects having Original. This is no longer true with the changes from #720. This commit changes: * Save original type, hash and size in ObjectToPack * Use SetObject to set both Original and resolved type, hash and size * Restore original object before using BackToOriginal (cycle resolution) * Update encoder test to check this case Signed-off-by: Javi Fontan --- plumbing/format/packfile/delta_selector.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'plumbing/format/packfile/delta_selector.go') diff --git a/plumbing/format/packfile/delta_selector.go b/plumbing/format/packfile/delta_selector.go index cd38c16..1d9fb5f 100644 --- a/plumbing/format/packfile/delta_selector.go +++ b/plumbing/format/packfile/delta_selector.go @@ -196,7 +196,8 @@ func (dw *deltaSelector) restoreOriginal(otp *ObjectToPack) error { return err } - otp.Original = obj + otp.SetOriginal(obj) + return nil } -- cgit