Commit f88da9f
committed
Merge branch 'prepare-the-test-suite-for-symlink-support-on-windows'
Git for Windows has supported symbolic links for quite some time:
In git-for-windows#156, this support was
introduced already into Git for Windows v2.4.2.windows.1 in May 2015.
However, the Git for Windows CI never ran the test suite with symbolic
link support because the MSYS2 runtime (i.e. the POSIX emulation layer
required to run Git's test suite because the latter is written in Unix
shell script) does not support symbolic links right out of the box. This
is for historical reasons: Symbolic link support was introduced in
Windows 7, but these links could only be created by administrators by
default, and it took until Windows 10 Build 14972 that at least in
Developer Mode, non-administrators would be permitted to create them.
The MSYS2 runtime _does_ have some sort of support for symbolic links,
although with caveats: seeing as it expects the inputs as Unix-like
paths, but the outputs need to be Win32 symbolic links pointing to Win32
paths, some normalization has to be performed in the process. This leads
to sometimes surprising behavior e.g. when a link target like `a/b/..`
is normalized to `a`.
It has been a minute or three since the time when Windows versions
without symbolic link support were common, therefore there are plans to
turn on that support in the MSYS2 runtime on these Windows versions by
default, see msys2/msys2-runtime#114 for more
details about this.
To prepare for this, I am working toward upstreaming Git for Windows'
own support for symbolic links. And to prepare for that, in turn, I am
hereby contributing preemptively the fixes required to eventually let
Git's test suite pass when both MSYS2 runtime and Git support symbolic
links.
Signed-off-by: Johannes Schindelin <[email protected]>File tree
10 files changed
+58
-20
lines changed- compat
- t
- t9700
10 files changed
+58
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3779 | 3779 | | |
3780 | 3780 | | |
3781 | 3781 | | |
3782 | | - | |
| 3782 | + | |
3783 | 3783 | | |
3784 | 3784 | | |
3785 | 3785 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
858 | 858 | | |
859 | 859 | | |
860 | 860 | | |
| 861 | + | |
861 | 862 | | |
862 | 863 | | |
863 | 864 | | |
| |||
891 | 892 | | |
892 | 893 | | |
893 | 894 | | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
894 | 908 | | |
895 | 909 | | |
896 | 910 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
425 | 425 | | |
426 | 426 | | |
427 | 427 | | |
428 | | - | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
429 | 432 | | |
430 | 433 | | |
431 | 434 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | | - | |
| 126 | + | |
| 127 | + | |
127 | 128 | | |
128 | 129 | | |
129 | 130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
467 | 467 | | |
468 | 468 | | |
469 | 469 | | |
470 | | - | |
| 470 | + | |
471 | 471 | | |
472 | 472 | | |
473 | 473 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1048 | 1048 | | |
1049 | 1049 | | |
1050 | 1050 | | |
1051 | | - | |
1052 | | - | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
1053 | 1057 | | |
1054 | 1058 | | |
1055 | 1059 | | |
1056 | 1060 | | |
1057 | 1061 | | |
1058 | | - | |
1059 | | - | |
1060 | | - | |
1061 | | - | |
1062 | | - | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
1063 | 1073 | | |
1064 | 1074 | | |
1065 | 1075 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
289 | | - | |
| 289 | + | |
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
| |||
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
301 | | - | |
| 301 | + | |
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5158 | 5158 | | |
5159 | 5159 | | |
5160 | 5160 | | |
5161 | | - | |
| 5161 | + | |
| 5162 | + | |
| 5163 | + | |
| 5164 | + | |
| 5165 | + | |
| 5166 | + | |
5162 | 5167 | | |
5163 | 5168 | | |
5164 | 5169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
752 | 752 | | |
753 | 753 | | |
754 | 754 | | |
755 | | - | |
| 755 | + | |
756 | 756 | | |
757 | 757 | | |
758 | 758 | | |
759 | | - | |
| 759 | + | |
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
| |||
786 | 786 | | |
787 | 787 | | |
788 | 788 | | |
789 | | - | |
| 789 | + | |
790 | 790 | | |
791 | 791 | | |
792 | 792 | | |
793 | | - | |
| 793 | + | |
794 | 794 | | |
795 | 795 | | |
796 | 796 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
120 | | - | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
121 | 126 | | |
122 | 127 | | |
123 | 128 | | |
| |||
127 | 132 | | |
128 | 133 | | |
129 | 134 | | |
130 | | - | |
| 135 | + | |
131 | 136 | | |
132 | 137 | | |
133 | 138 | | |
| |||
0 commit comments