[PATCH] sideband.c: Get rid of ANSI sequences for non-terminal shell
- From
Naumov, Michael (North Sydney) <michael.naumov@fiserv.com>
- Date
- May 30, 2014, 23:10 UTC
- Message-ID
- <81E85F13A4BE084BAF4B1AA24173EDA0144E14B7@JWPKEXMBX03.corp.checkfree.com>
Some git tools such as GitExtensions for Windows use environment variable TERM=msys which causes the weird ANSI sequence shown for the messages returned from server-side hooks We add those ANSI sequences to help format sideband data on the user's terminal. However, GitExtensions is not using a terminal, and the ANSI sequences just confuses it. We can recognize this use by checking isatty(). See https://github.com/gitextensions/gitextensions/issues/1313 for more details
NOTE: I considered to cover the case that a pager has already been started. But decided that is probably not worth worrying about here, though, as we shouldn't be using a pager for commands that do network communications (and if we do, omitting the magic line-clearing signal is probably a sane thing to do).
Signed-off-by: Michael Naumov <mnaoumov@gmail.com> Thanks-to: Erik Faye-Lund <kusmabite@gmail.com> Thanks-to: Jeff King <peff@peff.net> --- sideband.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sideband.c b/sideband.c index d1125f5..7f9dc22 100644 --- a/sideband.c +++ b/sideband.c @@ -30,7 +30,7 @@ int recv_sideband(const char *me, int in_stream, int out) memcpy(buf, PREFIX, pf); term = getenv("TERM"); - if (term && strcmp(term, "dumb")) + if (isatty(2) && term && strcmp(term, "dumb")) suffix = ANSI_SUFFIX; else suffix = DUMB_SUFFIX;
-- 1.8.3.msysgit.0 P.S. I gave up trying to send this letter from gmail, it eats my tab character P.S 2. Sorry, my tab character has been eaten again! P.S 3. Wrapped the letter lines to fit on the terminal Regards, Michael