From: Eric Sunshine Date: Wed, 15 Dec 2010 09:30:30 GMT Subject: Re: [PATCH 11/14] t3032-*.sh: Pass the -b (--binary) option to sed on cygwin Message-ID: <4D088AB6.5090501@sunshineco.com> In-Reply-To: <4D087AC7.2090705@viscovery.net> On 12/15/2010 3:22 AM, Johannes Sixt wrote: > Am 12/15/2010 0:32, schrieb Eric Sunshine: >> On 12/14/2010 2:24 PM, Junio C Hamano wrote: >>> Ramsay Jones 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 >>>> --- >>>> >>>> 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