native symlink support should fallback to default format if target missing

James Gregurich
Tue May 14 21:04:00 GMT 2013

>> 4. if a cygwin symlink is accessed and the target exists and the
>>   file system supports symlink reparse points, replace the cygwin
>>   symlink with the symlink reparse point.
> No, that won't happen.  When reading a symlink it will be used, not
> overwritten with another one under some weird circumstances.
> Consider:
> $ export CYGWIN=winsymlinks:native
> $ ln -s foo bar
> $ [... doing some other unrelated stuff, forgetting to unset CYGWIN...]
> $ find . -name baz
> This will accidentally read all symlinks under CWD and convert them to
> native symlinks.  Nope, not good.

You don't need to do that. Just leave it as a native default form symlink. One can use a command line tool to test the symlink and retry the creation of the native symlink at a later time. That works in practical use.

More information about the Cygwin-developers mailing list