Re: Push not writing to standard error
- From
Jeff King <peff@peff.net>
- Date
- Oct 12, 2010, 19:32 UTC
- Message-ID
- <20101012193204.GA8620@sigill.intra.peff.net>
- In-Reply-To
- <20101012192117.GD16237@burratino>
On Tue, Oct 12, 2010 at 02:21:17PM -0500, Jonathan Nieder wrote:
Show 32 quoted lines
> Chase Brammer wrote: > > > saving the standard error from bash > > to a file during a push doesn't seem to be working. I am only able to > > get standard output, which doesn't give the progress of the push > > (counting, delta, compressing, and writing status). > [...] > > git push origin master --progress > ~/push_error_output.txt 2>&1 > [...] > > Idea's on work arounds or upcoming patches to fix this? > > None from me. But some hints for a patch: > > - As the man page says, > > --progress > > Progress status is reported on the standard error stream > by default when it is attached to a terminal, unless -q is > specified. This flag forces progress status even if the > standard error stream is not directed to a terminal. > > It looks like this facility is not working. > > - Terminals are distinguished from nonterminals with isatty() > > - The "Counting objects..." output comes from pack-objects. > Running with GIT_TRACE=1 reveals that the --progress option is > not being passed to pack-objects as it should be. > > - Is this a regression? If so, narrowing the regression window > with a few rounds of "git bisect" could be helpful.
It looks like transport_set_verbosity gets called correctly, and then sets the "progress" flag for the transport. But for the push side, I don't see any transports actually looking at that flag. I think there needs to be code in git_transport_push to handle the progress flag, and it just isn't there.
-Peff