Re: [PATCH] Work around sed portability issue in t8006-blame-textconv
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 3, 2012, 19:05 UTC
- Message-ID
- <7vd3b0vc6h.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1325339068-6063-1-git-send-email-bwalton@artsci.utoronto.ca>
Ben Walton <bwalton@artsci.utoronto.ca> writes:
Show 10 quoted lines
> 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.
Thanks.