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

Re: git fsck exit code?

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 29, 2014, 20:47 UTC
Message-ID
<xmqqd2bj58gx.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20140829203145.GA510@peff.net>
Jeff King <peff@peff.net> writes:
Show 16 quoted lines
> On Fri, Aug 29, 2014 at 04:18:00PM -0400, David Turner wrote:
>
>> > Even if git does not die, whenever it says broken link, missing
>> > object, or object corrupt, we set errors_found and that variable
>> > affects the exit status of fsck.  What does "some errors" exactly
>> > mean in the original report?  Dangling objects are *not* errors and
>> > should not cause fsck to report an error with its exit status.
>> 
>> error in tree 9f50addba2b4e9e928d9c6a7056bdf71b36fba90: contains
>> duplicate file entries
>> 
>> (at least -- there might be more, but that's the one that bit me)
>
> I think that we just don't set "errors_found" in fsck_obj (nor do we in
> fsck_obj_buffer, but in that case its caller is verify-pack, which
> propagates the return code). Maybe (completely untested):

Sounds about right. David may have more or there may be not. Let's not forget to collect them and roll the fixes into a single update.

Thanks.
Show 14 quoted lines
> diff --git a/builtin/fsck.c b/builtin/fsck.c
> index d42a27d..29de901 100644
> --- a/builtin/fsck.c
> +++ b/builtin/fsck.c
> @@ -388,7 +388,8 @@ static void fsck_sha1_list(void)
>  		unsigned char *sha1 = entry->sha1;
>  
>  		sha1_list.entry[i] = NULL;
> -		fsck_sha1(sha1);
> +		if (fsck_sha1(sha1))
> +			errors_found |= ERROR_OBJECT;
>  		free(entry);
>  	}
>  	sha1_list.nr = 0;
Previous: Jeff KingNext: Junio C Hamano
Message 6 of 21 in “git fsck exit code?”
  1. David TurnerAug 27, 2014
  2. Jeff KingAug 29, 2014
  3. Junio C HamanoAug 29, 2014
  4. David TurnerAug 29, 2014
  5. Jeff KingAug 29, 2014
  6. Junio C HamanoAug 29, 2014
  7. fsck: exit with non-zero status upon error from fsck_obj()Junio C Hamano, Sep 9, 2014
  8. Jeff KingSep 9, 2014
  9. fsck: return non-zero status on missing ref tipsJeff King, Sep 12, 2014
  10. Jeff KingSep 12, 2014
  11. Jeff KingSep 12, 2014
  12. Junio C HamanoSep 12, 2014
  13. Jeff KingSep 12, 2014
  14. Michael HaggertySep 15, 2014
  15. Michael HaggertySep 15, 2014
  16. Junio C HamanoSep 9, 2014
  17. Jonathan NiederSep 9, 2014
  18. Øyvind A. HolmAug 31, 2014
  19. Øyvind A. HolmSep 1, 2014
  20. David TurnerSep 1, 2014
  21. Jeff KingSep 9, 2014

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.