From: mnaoumov@gmail.com Date: Thu, 01 Nov 2012 00:54:16 GMT Subject: Re: pre-receive hook output invalid characters Message-ID: In-Reply-To: Your suggestion seems to be logical for me :) On Thursday, November 1, 2012 3:32:26 AM UTC+11, Erik Faye-Lund wrote: > > Sorry for resending, but the previous version got dropped from the > main git mailing list due to a HTML-subpart. Converted to plain-text. > > On Wed, Oct 31, 2012 at 4:45 PM, Erik Faye-Lund > > wrote: > > > > On Wed, Oct 31, 2012 at 4:24 PM, > > wrote: > >> > >> If you add pre-receive hook in your git repository with the following > >> content > >> > >> #!/bin/sh > >> > >> echo Message > >> exit 1 > >> > >> And then try to push you will get the following > >> > >> The bug is about these strange 3 last characters. > >> > >> Recently I raised a bug for GitExtensions but it seems to be msysgit > >> issue as I could reproduce it from PowerShell as well > >> > >> https://github.com/gitextensions/gitextensions/issues/1313 > > > > > > > What you're seeing is most likely a CR (a carriage return character). > > Windows has CRLF new-lines, and Unix uses only LF. > > > > My guess is that echo produces CRLF, and this gets carried through and > > incorrecly displayed. > > > OK, I can reproduce it in Git Bash now, and by doing "git push 2>&1 | od > -c" > I can see that I'm getting "Message\033[K\n". > > This looks a little bit puzzling, but the sequence matches ANSI_SUFFIX in > sideband.c. So it seems this is intentional. This dates back to ebe8fa73. > > I wonder, shouldn't we check isatty also before assuming ANSI-sequences? > > ---8<--- > diff --git a/sideband.c b/sideband.c > index d5ffa1c..bd3e5a8 100644 > --- a/sideband.c > +++ b/sideband.c > @@ -29,7 +29,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(out) && term && strcmp(term, "dumb")) > suffix = ANSI_SUFFIX; > else > suffix = DUMB_SUFFIX; > ---8<--- > > Thoughts? > -- *** Please reply-to-all at all times *** *** (do not pretend to know who is subscribed and who is not) *** *** Please avoid top-posting. *** The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free. You received this message because you are subscribed to the Google Groups "msysGit" group. To post to this group, send email to msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com For more options, and view previous threads, visit this group at http://groups.google.com/group/msysgit?hl=en_US?hl=en