aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2025-12-17 14:18:45 +0000
committerJunio C Hamano <gitster@pobox.com>2025-12-18 08:18:14 +0900
commiteae7c16c3db2e746dd720c4e9ad7c1724d372b07 (patch)
tree06e0bfb28e8b6a31c03d163e97ac0497f1405a09
parentbe6ac3510708da0d662f97783ccaca0794a34593 (diff)
downloadgit-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-xt/t6423-merge-rename-directories.sh9
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 &&