git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 4/4] read_loose_refs(): treat NULL_SHA1 loose references as broken

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Jun 8, 2015, 09:26 UTC
Message-ID
<55755FC9.7040507@alum.mit.edu>
In-Reply-To
<xmqqmw0gwktt.fsf@gitster.dls.corp.google.com>
On 06/03/2015 11:20 PM, Junio C Hamano wrote:
Show 21 quoted lines
> Jeff King <peff@peff.net> writes:
> 
>> On Wed, Jun 03, 2015 at 11:51:43AM -0700, Junio C Hamano wrote:
>>
>>> Jeff King <peff@peff.net> writes:
>>>
>>>> On Wed, Jun 03, 2015 at 03:51:59PM +0200, Michael Haggerty wrote:
>>>>
>>>>> NULL_SHA1 is used to indicate of "invalid SHA-1" throughout our code
>>>>
>>>> s/of/an/ ?
>>>
>>> Also possibly s/invalid SHA-1/invalid ref/?
>>
>> I thought it was trying to express that we use the null sha1 as a
>> sentinel value throughout the code, no matter if the value came from a
>> ref or otherwise.
> 
> Yeah, an invalid object name, not limited to refs, is correct.
> 
> Thanks.

Thanks for all the comments. Taking them into consideration, I suggest changing the last commit message to

--8<----------------------------------------------------------------- read_loose_refs(): treat NULL_SHA1 loose references as broken

NULL_SHA1 is used to indicate an "invalid object name" throughout our code (and the code of other git implementations), so it is vastly more likely that an on-disk reference was set to this value due to a software bug than that NULL_SHA1 is the legitimate SHA-1 of an actual object. Therefore, if a loose reference has the value NULL_SHA1, consider it to be broken.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
--8<-----------------------------------------------------------------

Since the only comments were about this one commit message, I won't send an updated patch series to the mailing list unless you request it. You can also get the patches from my GitHub account [1], branch "for-each-ref-errors".

Michael
[1] https://github.com/mhagger/git
-- 
Michael Haggerty
mhagger@alum.mit.edu
Previous: Junio C HamanoNext: Junio C Hamano
Message 10 of 11 in “Fix how for-each-ref handles broken loose references”
  1. 0/4 Fix how for-each-ref handles broken loose referencesMichael Haggerty, Jun 3, 2015
  2. 1/4 t6301: new tests of for-each-ref error handlingMichael Haggerty, Jun 3, 2015
  3. 2/4 for-each-ref: report broken references correctlyMichael Haggerty, Jun 3, 2015
  4. 3/4 read_loose_refs(): simplify function logicMichael Haggerty, Jun 3, 2015
  5. 4/4 read_loose_refs(): treat NULL_SHA1 loose references as brokenMichael Haggerty, Jun 3, 2015
  6. Jeff KingJun 3, 2015
  7. Junio C HamanoJun 3, 2015
  8. Jeff KingJun 3, 2015
  9. Junio C HamanoJun 3, 2015
  10. Michael HaggertyJun 8, 2015
  11. Junio C HamanoJun 8, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.