Skip to contentSkip to conversation

can't redirect git's progress output (stderr)

DISCUSSION Delan Azabani 3 participants 3 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

Hi all,

I'm writing a URI handler for git that uses bash/zenity to allow the user to clone a git repository when a git:// link is clicked in a browser.

I'm having a bit of trouble getting git's output into zenity, however. git outputs its progress messages (everything except the "Initializing" message) on stderr, which shouldn't be a problem. Something weird has happened though; the moment I try to pipe git's stderr to stdout or a file, it disappears.

A simple way to test this:

git clone git://your.favourite/git/repo 2> file1 git clone git://your.favourite/git/repo 2>&1 > file2

file1 will be empty (why?) and file2 will contain only the "Initializing" message, which came from stdout.

TL;DR why can't I pipe git's stderr output?

Help would be greatly appreciated; thanks in advance.

#1 lore raw

Try
git clone git://your.favourite/git/repo > file2 2>&1 /Torsten

Quoted 26 lines · Delan Azabani

Hi all,

I'm writing a URI handler for git that uses bash/zenity to allow the user to clone a git repository when a git:// link is clicked in a browser.

I'm having a bit of trouble getting git's output into zenity, however. git outputs its progress messages (everything except the "Initializing" message) on stderr, which shouldn't be a problem. Something weird has happened though; the moment I try to pipe git's stderr to stdout or a file, it disappears.

A simple way to test this:

git clone git://your.favourite/git/repo 2> file1 git clone git://your.favourite/git/repo 2>&1> file2

file1 will be empty (why?) and file2 will contain only the "Initializing" message, which came from stdout.

TL;DR why can't I pipe git's stderr output?

Help would be greatly appreciated; thanks in advance. --
To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
In reply to Delan Azabani
Quoted 1 line · Delan Azabani

TL;DR why can't I pipe git's stderr output?

git-clone(1):

--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.

Andreas.

Signature · 3 lines
Andreas Schwab, [email protected]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."