That said, cygwin now uses junctions which is annoying and not all that compatible with all aspects of the windows ecosystem. So I wrote a wrapper script that replaced ln with calls to mklink. Much better. https://github.com/tb3088/shell-environment/blob/master/.functions_os.CYGWIN_NT#L9