Re: [PATCH] refs.c: add a function to sort a ref list, rather then sorting on add
- From
Junio C Hamano <junkio@cox.net>
- Date
- Apr 18, 2007, 19:36 UTC
- Message-ID
- <7vodllfpaj.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.64.0704172304380.16435@beast.quantumfyre.co.uk>
Julian Phillips <julian@quantumfyre.co.uk> writes:
Show 12 quoted lines
> On Tue, 17 Apr 2007, Junio C Hamano wrote: > ... >> I think we would not call add_ref() to the same list with >> duplicate names, unless (1) filesystem is grossly corrupt, (2) >> somebody added a new ref while we are walking (how does >> readdir() behave in such a case???), or (3) packed-refs file is >> corrupt. > > This combined with the fact that the old code didn't check that the > sha1 was the same suggests to me that this behaviour may actually have > been a subtle bug? Perhaps the best thing to do is die if we find two > entries with the same name when sorting?
I am not sure what readdir() does if somebody adds a new ref while we are walking the directory; I am hoping we would not get the same thing in duplicates, but I dunno.
I think the most sensible thing to do is to check for duplicates, discarding if the SHA-1 match and otherwise dying.