Re: fatal output from git-show really wants a terminal
From: Johannes Sixt <hidden>
Date: 2016-06-15 22:45:45
On Mittwoch, 10. Dezember 2008, Tim Olsen wrote:
It appears that when outputting a fatal error, git-show will choose stdout over stderr if stdout is a terminal and stderr is not.
This is by design.
How do I redirect the error but still allow stdout to be displayed?
$ git show 12345 2> /dev/null | less
~/git$ mkdir test ~/git$ cd test ~/git/test$ git init ~/git/test$ git show 12345 fatal: ambiguous argument '12345': unknown revision or path not in the working tree. Use '--' to separate paths from revisions
You see this through the pager.
~/git/test$ git show 12345 2> /dev/null fatal: ambiguous argument '12345': unknown revision or path not in the working tree. Use '--' to separate paths from revisions
And this went through the pager as well.
~/git/test$ git show 12345 > /dev/null fatal: ambiguous argument '12345': unknown revision or path not in the working tree. Use '--' to separate paths from revisions
This went straight to the terminal. The pattern is that if stdout is a terminal, the pager is thrown up and both stdout and stderr of git show proper are redirected to the pager. If you redirect only stderr, then this redirection is actually ignored. -- Hannes