Re: [PATCH 10/10] t7800: work around the MSYS path conversion on Windows
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Dec 1, 2025, 13:30 UTC
- Message-ID
- <3000e017-189d-e8ea-83da-5bccfd595349@gmx.de>
- In-Reply-To
- <CAPig+cSKmmSewLYp_zAk7y+y=STxPjvG9f5LzrmTbtvNt_AoPw@mail.gmail.com>
Hi Eric,
On Sun, 30 Nov 2025, Eric Sunshine wrote:
Show 16 quoted lines
> On Sat, Nov 29, 2025 at 1:29 PM Johannes Schindelin via GitGitGadget > <gitgitgadget@gmail.com> wrote: > > Git's test suite's relies on Unix shell scripting, which is > > understandable, of course, given Git's firm roots (and indeed, ongoing > > focus) on Linux. > > > > This fact, combined with Unix shell scripting's natural > > habitat -- which is, naturally... *drumroll*... Unix -- > > often has unintended side effects, where developers expect the test > > suite to run in a Unix environment, which is an incorrect assumption. > > > > One instance of this problem can be observed in the 'difftool --dir-diff > > handles modified symlinks' test case in `t7800-difftool.sh`, which > > assumes that that all absolute paths start with a forward slash. That > > s/that that/that/
Thanks, Johannes
Show 20 quoted lines
> > > assumption is incorrect in general, e.g. on Windows, where absolute > > paths have many shapes and forms, none of which starts with a forward > > slash. > > > > The only saving grace is that this test case is currently not run on > > Windows because of the `SYMLINK` prerequisite. However, I am currently > > working towards upstreaming symbolic link support from Git for Windows > > to upstream Git, which will put a crack into that saving grace. > > > > Let's change that test case so that it does not rely on absolute paths > > (which are passed to the "external command" `ls` as parameters and are > > therefore part of its output, and which the test case wants to filter > > out before verifying that the output is as expected) starting with a > > forward slash. Let's instead rely on the much more reliable fact that > > `ls` will output the path in a line that ends in a colon, and simply > > filter out those lines by matching said colon instead. > > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> >