cygpath unable to translate the *nix path to an NTFS junction point

Andrey Repin
Wed Nov 24 02:46:00 GMT 2010

Greetings, Pierce Morton!

> I've recently installed cygwin using the web installer, and have found
> an error in the way that cygpath translates junction point paths from
> *nix to Windows paths when dealing with a junction point.

> If you've got a junction point (let's call it JUNC, located at
> c:\example\junc ) and a real folder TARG (located at c:\example\TARG )
> and your junction point points to TARG:
> cygpath -w /cygdrive/c/example/junc
> will give you
> c:\example\TARG
> as your output instead.

This is expected behavior for cross-links.
However, the real reparse points mounting different volumes...

[C:\]$ uname -a
CYGWIN_NT-5.1 daemon2 1.7.7(0.230/5/3) 2010-08-31 09:58 i686 Cygwin
[C:\]$ dir C:\ | grep arc
2010-11-22  12:16    <JUNCTION>    arc

[C:\]$ cygpath -w /c/arc

Real junction target: \\?\Volume{4aee6480-972b-11de-b8ca-0015f2ef1bb5}\arc

> This leaves cygpath completely unable to translate the original path
> of an NTFS junction.  This is proving to be a problem for me (I'm
> trying to use the output of cygpath for the equivalent of a backtick
> operation in another script...)

> I haven't taken a look at the C source yet, so I'm not sure whether
> this problem lies in cygpath itself or the cygwin API layer.

Say, it's a missing feature.

@Corinna: Any chance cygpath get a --nofollow switch or something?

 Andrey Repin ( 24.11.2010, <3:48>

Sorry for my terrible english...

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list