From: Junio C Hamano Date: Thu, 16 Feb 2006 03:59:46 GMT Subject: Re: [PATCH] pack-objects: reuse data from existing pack. Message-ID: <7v4q30kl71.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Nicolas Pitre writes: > On Wed, 15 Feb 2006, Junio C Hamano wrote: > >> Generating pack... >> Done counting 12233 objects. >> Packing 12233 objects..................... >> 60a88b3979df41e22d1edc3967095e897f720192 >> Total 12233, written 12233, reused 12177 >> ... > In fact, the resulting pack should be identical with or without this > patch, shouldn't it? Not necessarily. The delta-depth limitation is currently lifted when reusing deltified objects (finding out the current depth is not so expensive compared to uncompress-delta-recompress cycle, but still costs somewhat, and the objective of this exercise is to gain performance). Notice the numbers 'written' and 'reused' in the output? The difference in that example comes from the fact that I am omitting some objects from the set of objects to be packed (v1.0.0 is ancient) in a repository where some newer objects are packed. Since packing-delta goes backwards, what is in v1.0.0 but not in my tip tends to be delitified in the original pack, but the resulting pack needs to have them expanded -- that is where the difference comes from. A cleaned-up patch will be in "pu" branch tonight. I considered putting it in "next", but decided against it. I have not spent enough time really beating on it, although I haven't seen major breakage.