Re: [PATCH] fixup! log: add exhaustive tests for pattern style options & config
- Date: Mon, 15 May 2017 12:04:15 -0700
- From: Jonathan Nieder <jrnieder@xxxxxxxxx>
- Subject: Re: [PATCH] fixup! log: add exhaustive tests for pattern style options & config
Johannes Schindelin wrote:
> On Fri, 12 May 2017, Jonathan Nieder wrote:
>> Would something like
>> test PIPE_IN_FILENAME '
>> >"a|b" &&
>> test -f "a|b"
> Back to the subject: The MSYS2 emulation layer inherits a neat trick from
> Cygwin, where it *can* create file names containing pipe symbols. They
> will be quietly mapped into a private UTF-8 page, and when Cygwin or MSYS2
> read the file back, the file name maps from this page back to ASCII
> That strategy is all good and dandy, as long as you stay within the POSIX
> emulation layer.
> Git for Windows avoids the POSIX emulation layer as much as possible, for
> speed, and also for robustness.
> Which means that Git does *not* map the file names using said private
> UTF-8 code page. And therefore, your test would succeed (because the shell
> script would stay within the POSIX emulation layer, which creates that
> file using above-mentioned strategy), but Git (being a regular Win32
> program) *still* would fail to create said file.
Wow. Thanks for a clear explaination.
I'll be keeping a copy of this message handy for the next time I'm
confused about filename handling in the testsuite on Windows.