Re: [PATCH 11/14] t3032-*.sh: Pass the -b (--binary) option to sed on cygwin
On 12/15/2010 3:22 AM, Johannes Sixt wrote:
Show 33 quoted lines
> Am 12/15/2010 0:32, schrieb Eric Sunshine:
>> On 12/14/2010 2:24 PM, Junio C Hamano wrote:
>>> Ramsay Jones<ramsay@ramsay1.demon.co.uk> writes:
>>>> The test using the conflict_hunks helper function (test 9) fails
>>>> on cygwin, since sed (by default) throws away the CR from CRLF
>>>> line endings. This behaviour is undesirable, since the validation
>>>> code expects the CRLF line-ending to be present. In order to fix
>>>> the problem we pass the -b (--binary) option to sed, using the
>>>> SED_OPTIONS variable. We use the SED_STRIPS_CR prerequisite in the
>>>> conditional initialisation of SED_OPTIONS.
>>>>
>>>> Signed-off-by: Ramsay Jones<ramsay@ramsay1.demon.co.uk>
>>>> ---
>>>>
>>>> Note that this test does not fail on MinGW, but I don't
>>>> really know why, given commit ca02ad3... ahem ;-)
>>>
>>> Ahem, indeed. Why?
>>
>> t3032 does indeed fail on MinGW, and was fixed in the msysgit port by [1],
>> but was subsequently "lost" when msysgit was rebased onto junio/next [2]
>> which did not have that test. Consequently, the fix never made it into the
>> mainline git source.
>
> Sorry, but on MinGW, I only need the GREP_OPTIONS part of that fix, but
> not the SED_OPTIONS. It's also mysterious for me.
>
> OTOH, the fix in ca02ad3 that applies to t6038, does not work for me as is
> because my sed does not understand -b; it needs --nocr. Maybe it is the
> sed version that makes the difference?
>
> D:\Src\mingw-git\t>sed --version
> GNU sed version 3.02
Failure of t3032 was reported by Pat Thoyts [1] when preparing for the v1.7.3 release. The problem was diagnosed and patched via [2] under the standard msysgit netinstall [3] environment. From commit message [2], GREP_OPTIONS and SED_OPTIONS were applied to resolve distinct cases of line-terminator "corruption" (t3032.4-t3032.8 and t3032.9, respectively) within that environment at the time the patch was prepared.
Your tool versions may indeed not be compatible with those of the netinstall environment [3]:
$ sed --version GNU sed version 4.2.1
Unfortunately, the old --nocr is not recognized by modern GNU sed:
$ sed --nocr sed: unrecognized option `--nocr'
[1]: http://groups.google.com/group/msysgit/browse_thread/thread/70110298ae72caea/a39b121bb0feccf4?lnk=gst&q=t3032#a39b121bb0feccf4 [2]: http://groups.google.com/group/msysgit/browse_thread/thread/587d32ee034b0cbe/dca93dc6ad755012#dca93dc6ad755012 [3]: http://code.google.com/p/msysgit/downloads/list [msysGit-netinstall-1.7.3.1-preview20101002.exe]
-- ES