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

Re: problems GIT_TRACE

From
Junio C Hamano <junkio@cox.net>
Date
Jul 10, 2006, 12:22 UTC
Message-ID
<7vwtalbqeo.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<E1Fzta3-00066Z-8B@moooo.ath.cx>
Matthias Lederhofer <matled@gmx.net> writes:
Show 13 quoted lines
> I just discovered a problem with GIT_TRACE.  Some scripts redirect
> stderr to stdout and the trace messages go with it.  For example from
> git-repack:
>> name=$(git-rev-list --objects --all $rev_list 2>&1 |
>>         git-pack-objects --non-empty $pack_objects .tmp-pack) ||
>>         exit 1
> Then for example git-pack-objects complains:
>> fatal: expected sha1, got garbage:
>>  trace: built-in: git 'rev-list' '--objects' '--all'
> git-grep '2>&' shows a few other places that do this too, I'll take a
> closer look at this later.  Is there any reason to redirect stderr to
> stdout?  I think this will always fail with such a strange error
> message when something is written to stderr.

This particular one is trying to catch an error condition from rev-list. Shell reports the exit status from the last command in the pipeline, and when rev-list notices a corrupt repository, it wants to tell pack-objects to stop producing incorrect pack, but there is no way other than sending a garbage string (as an error message) to cause pack-object to notice there is garbage coming in.

Previous: Matthias LederhoferNext: Matthias Lederhofer
Message 2 of 4 in “problems GIT_TRACE”
  1. Matthias LederhoferJul 10, 2006
  2. Junio C HamanoJul 10, 2006
  3. fix git-repack for use with GIT_TRACEMatthias Lederhofer, Jul 10, 2006
  4. Junio C HamanoJul 11, 2006

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.