From: Junio C Hamano Date: Fri, 06 Jan 2012 22:53:33 GMT Subject: Re: [PATCH] Work around sed portability issue in t8006-blame-textconv Message-ID: <7vehvcigsy.fsf@alter.siamese.dyndns.org> In-Reply-To: <7vd3b0vc6h.fsf@alter.siamese.dyndns.org> Junio C Hamano writes: > Ben Walton writes: > >> In test 'blame --textconv with local changes' of t8006-blame-textconv, >> using /usr/xpg4/bin/sed on Solaris as set by SANE_TOOL_PATH, an >> additional newline was added to the output from the 'helper' script >> driven by git attributes. >> >> This was noted by sed with a message such as: >> sed: Missing newline at end of file zero.bin. >> >> In turn, this was triggering a fatal error from git blame: >> fatal: unable to read files to diff > > Interesting. A file with incomplete line technically is not a text file > and sed is supposed to work on text files, so it is allowed to be picky. > >> Use perl -p -e instead of sed -e to work around this portability issue >> as it will not insert the newline. > > I am not sure if additional newline is the problem, or the exit status > from sed is, from your description. Your first paragraph says you will get > output from sed but with an extra newline, and then later you said blame > noticed an error in its attempt to read the contents. I am suspecting that > it checked the exit status from the textconv subprocess and noticed the > error and that is the cause of the issue, but could you clarify? IOW, I > am suspecting that replacing "as it will not insert the newline" with "as > it does not error out on an incomplete line" is necessary in this > sentence. Ping?