Am 16.11.2023 um 21:30 schrieb Brian Inglis via Cygwin:
On 2023-11-16 11:55, matthew patton via Cygwin wrote:
On Thursday, November 16, 2023 at 03:50:24 AM EST, Andrey Repin wrote:
Does Cygwin have a command line tool (Scriptable!) which can be
used to
differ between soft links and Windows junctions?
Distinguishing between types of Windows reparse points is not a POSIX
or emulation function, so not of interest to Cygwin developers.
I thought about it when support was added, but then realized there was
no nice place to add it within the platform, without going the
non-portable Windows specific utility route, as in lsattr.
You could in a function or script by running lsattr -d which seems to
fail on reparse points, then ls -dl which shows a Symbolic Link with a
relative path, and a Junction with an absolute path, although it could
just be a Symbolic Link with an absolute path.
lsattr has an explicit flag:
'r', 'Reparse': file or directory that has a reparse
point
I don't know whether it's the same as a junction, otherwise a 'j' flag
could be added.
Perhaps something like the following would be useful to Windows users
who want to know this stuff:
https://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
It would be easier to help you, if you specify the purpose of your
request. I.e. what you want to achieve with such tool.
AFAIK no. what I do is re-implement 'ln' with a wrapper because the
Cygwin
behavior (Junctions) was driving me up the wall.
https://github.com/tb3088/shell-environment/blob/ccf7aa161899c2c4ebe2d9e980e674bc726a3ef3/.functions_os.CYGWIN_NT#L9
Cygwin never creates Windows Directory or Filesystem Junction reparse
points, and by default it uses its own version of Unix path symlink
files, preceded by a flag ("magic cookie") value, and with system
attribute, to allow compatibility with FAT file system limitations, or
else NFS symlinks on NFS filesystems.
CYGWIN env var settings allow creation of Windows shortcuts and
symbolic link reparse points instead of its default (equivalent to
winsymlinks:sys), when supported by the file system and Windows release:
https://cygwin.com/cygwin-ug-net/using-cygwinenv.html
https://cygwin.com/cygwin-ug-net/using.html#pathnames-symlinks
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple