On Tue, 25 Apr 2006, Junio C Hamano wrote: > Nicolas Pitre <nico@xxxxxxx> writes: > > > Note, this is a RFC particularly to Junio since the resulting pack is > > larger than without the patch with git-repack -a -f. However using a > > subsequent git-repack -a brings the pack size down to expected size. So > > I'm not sure I've got everything right. > > I haven't tested it seriously yet, but there is nothing that > looks obviously wrong that might cause the inflation problem, > from the cursory look after applying the patch on top of your > last round. Never mind. I found a flaw in the determination of delta_limit when reparenting a delta target. The immediate parent's delta_limit is readjusted when its longest delta is moved to another base, but if that parent was itself a delta then the delta_limit adjustment is not propagated back up to the top. This means that some objects were falsely credited with too high delta_limit. And actually I'm not sure how to solve that without walking the tree up to the top each time, which I want to avoid as much as possible. Nicolas - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html