Re: fact-import: failed to apply delta
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:08
"Shawn O. Pearce" [off-list ref] writes:
Daniel Barkalow [off-list ref] wrote:quoted
On Tue, 10 Feb 2009, Shawn O. Pearce wrote:quoted
We should dump the cached_objects table in sha1_file.c during a checkpoint in fast-import.No, that one's keyed by sha1, and doesn't get collisions; it's the delta_base_cache that's the issue; it's keyed by struct packed_git * and offset.Uh, yea, I realize that after I sent the message. Does this patch fix it for you? --8<-- Clear the delta base cache during fast-import checkpoint Otherwise we may reuse the same memory address for a totally different "struct packed_git", and a previously cached object from the prior occupant might be returned when trying to unpack an object from the new pack.
Can this be made more automatic? For example if you do this every time a new pack is installed to sha1_file(), like in add_packed_git() perhaps, wouldn't that be much less error prone?