native symlink support should fallback to default format if target missing
Tue May 14 14:52:00 GMT 2013
> I agree with Chris on this. Instead of a fallback behavior it should
> be an EACCES, EINVAL or EXDEV error.
> -- https://sites.google.com/site/earnieboyd
This may sound rational from a theoretical perspective, but for practical use of the system, it is not good. Consider the case when one clones a git repository. The link will often be created before the target file exists. If the system fails with an error, then you won't be able to use your git working tree as the checkout won't be successful.
Output a warning if you like, but the call to make the link needs to succeed so that unix software works correctly.
Outputting a broken link would be more confusing for a user than outputting a default form symlink. An experienced user of windows and Cygwin will typically have the sophistication to know how to recognize the cygwin symlink file in the file system. After all. The system has already been doing this behavior for years and people have seen it. Also, the system is not on by default. People who enable native symlink support can be expected to have the sophistication to understand the details of using it.
More information about the Cygwin-developers