From: Eric Sunshine Date: Sun, 30 Nov 2025 06:57:48 GMT Subject: Re: [PATCH 10/10] t7800: work around the MSYS path conversion on Windows Message-ID: In-Reply-To: On Sat, Nov 29, 2025 at 1:29 PM Johannes Schindelin via GitGitGadget 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/ > 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