diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2025-12-17 14:18:45 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-12-18 08:18:14 +0900 |
| commit | eae7c16c3db2e746dd720c4e9ad7c1724d372b07 (patch) | |
| tree | 06e0bfb28e8b6a31c03d163e97ac0497f1405a09 | |
| parent | be6ac3510708da0d662f97783ccaca0794a34593 (diff) | |
| download | git-eae7c16c3db2e746dd720c4e9ad7c1724d372b07.tar.xz | |
t6423: introduce Windows-specific handling for symlinking to /dev/null
The device `/dev/null` does not exist on Windows, it's called `NUL`
there. Calling `ln -s /dev/null my-symlink` in a symlink-enabled MSYS2
Bash will therefore literally link to a file or directory called `null`
that is supposed to be in the current drive's top-level `dev` directory.
Which typically does not exist.
The test, however, really wants the created symbolic link to point to
the NUL device. Let's instead use the `mklink` utility on Windows to
perform that job, and keep using `ln -s /dev/null <target>` on
non-Windows platforms.
While at it, add the missing `SYMLINKS` prereq because this test _still_
would not pass on Windows before support for symbolic links is
upstreamed from Git for Windows.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rwxr-xr-x | t/t6423-merge-rename-directories.sh | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/t/t6423-merge-rename-directories.sh b/t/t6423-merge-rename-directories.sh index 533ac85dc8..53535a8ebf 100755 --- a/t/t6423-merge-rename-directories.sh +++ b/t/t6423-merge-rename-directories.sh @@ -5158,13 +5158,18 @@ test_setup_12m () { git switch B && git rm dir/subdir/file && mkdir dir && - ln -s /dev/null dir/subdir && + if test_have_prereq MINGW + then + cmd //c 'mklink dir\subdir NUL' + else + ln -s /dev/null dir/subdir + fi && git add . && git commit -m "B" ) } -test_expect_success '12m: Change parent of renamed-dir to symlink on other side' ' +test_expect_success SYMLINKS '12m: Change parent of renamed-dir to symlink on other side' ' test_setup_12m && ( cd 12m && |
