Dear Corinna, Am 02.03.2020 um 17:48 schrieb Corinna Vinschen: > On Feb 29 14:10, Rainer Emrich wrote: >> I try to reliably determine if native Windows symlink are working for a >> current cygwin environment in a shell script. >> >> Therefor I used a powershell snipped: >> >> mkdir asdfgh >> ln -s asdfgh/ asdfgh-1 >> powershell "& {Get-Item -Path asdfgh-1 | Select-Object}" >> >> On cygwin 3.0.7 the output is as follows: >> >> >> Directory: D:\cygwin\home\rainer\temp >> >> >> Mode LastWriteTime Length Name >> ---- ------------- ------ ---- >> d----l 29.02.2020 13:58 asdfgh-1 >> >> On cygwin 3.1.4 I get: >> >> >> Directory: D:\cygwin\home\rainer\temp >> >> >> Mode LastWriteTime Length Name >> ---- ------------- ------ ---- >> d---- 29.02.2020 13:58 asdfgh-1 >> >> So now there is no indication that this is a link. Is this new behaviour >> intended or a bug? >> >> I did not try on Windows 10, I'm still on windows 7. >> >> Rainer >> > > I can't reproduce this behaviour. Keep in mind that, by default, you > *have to* run in an elevated shell to be able to create native NTFS > symlinks, *and* you *have to* set the environment variable CYGWIN(*) to > contain "winsymlinks:native" or "winsymlinks:nativestrict". The latter > is nice for testing, it refuses to fall back silently to the default > Cygwin-only symlinks but fails instead if it can't create a native > NTFS symlink. I know all the implications. I have to test in an unknown cygwin environment if it is possible to set native symlinks. > > So, on Windows 7 in an elevated shell: > > # id -G | grep -Eq '\<544\>' && echo elevated || echo non-elevated > elevated > # uname -a > CYGWIN_NT-6.1 vmbert764 3.1.4(0.340/5/3) 2020-02-19 08:49 x86_64 Cygwin > # mkdir qwe > # cd qwe > # export CYGWIN="winsymlinks:nativestrict" > # touch foo > # ln -s foo bar > # cmd /c dir /a > Volume in drive C has no label. > Volume Serial Number is A8E0-A24E > > Directory of C:\cygwin64\home\corinna\qwe > > 2020-03-02 17:31 . > 2020-03-02 17:31 .. > 2020-03-02 17:31 bar [foo] > 2020-03-02 17:31 0 foo > 2 File(s) 0 bytes > 2 Dir(s) 7.907.352.576 bytes free > Yes, this is the same for me, but if you use the powershell # powershell "& {Get-Item -Path bar | Select-Object}" on cygwin 3.0.7 you get Directory: D:\cygwin\home\rainer\temp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---l 03.03.2020 14:09 0 bar and on cygwin 3.1.4 you get Directory: D:\cygwin\home\rainer\temp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 03.03.2020 14:09 0 bar The only difference is the used cygwin version. So, I don't understand what has changed. Cheers Rainer