native symlink

Corinna Vinschen
Wed Apr 24 10:35:00 GMT 2013

On Apr  3 17:29, Corinna Vinschen wrote:
> Cygwin is a POSIX environment in the first place.  Interop is fine,
> but if it collides with POSIX, we're clearly favoring POSIX.
> Having said that.
> Chris and I had a private discussion (not the first one on the subject!)
> and we're willing to revisit the use of native symlinks in Cygwin but
> it will be a while before that happens.  A change to the path handling
> code like this is not something that we'd consider for 1.7.18 which is
> long overdue anyway.
> What I will do is to add a new CYGWIN environment variable option, along
> the lines of the winsymlinks option(*), or, which is very likely the
> more elgant solution, a mount option, which will result in trying to
> create native symlinks first, and a Cygwin symlink only if creating
> a native symlink failed.  That should help you along.

I just applied a patch to CVS which adds AFS support as well as native
symlink support.  On AFS, native symlinks are used exclusively, on any
other filesystem supporting native symlinks Cygwin will try to create
them if you specify "winsymlinks:native" in the $CYGWIN environment

After mulling over this problem I found that using an environment
solution is better than the mount point solution, because this allows
on-the-fly creating of native symlinks in certain scenarios, while the
default can be kept at using Cygwin sysfile symlinks, which are still
better suited for a POSIX environment.

For completeness, you can also specify "winsymlinks:lnk" or just 
"winsymlinks".  This will result in trying to generate shortcut
type symlinks, as before.

Jeffrey, please give especially AFS at try here.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

More information about the Cygwin-developers mailing list