repo with CYGWIN=winsymlinks:nativestrict

Adam Dinwoodie
Thu Aug 14 16:44:00 GMT 2014

On Thu, Aug 14, 2014 at 07:38:33PM +0800, Robert Bu wrote:
> If I set CYGWIN=winsymlinks:lnk, repo works. However, Windows native
> Git tool, such as TortoiseGit cannot read the symlink file. I think
> it treats the symlink file as a normal file and tries to parse the
> file format as Git specifies.

I've never used native Windows Git tools, but if they work in a similar
way to Windows Subversion tools, they're expecting a "symlink" to be
something that doesn't act like a symlink in any way whatsoever.

I suspect this is one of those areas where Cygwin and native-Windows
tools aren't going to play nicely without a lot of difficulty because of
the fundamental differences between *nix and Windows approaches.

The only useful suggestion I have is to abandon Windows Git tools.  If
you want GUIs you could try gitk and git-gui in Cygwin (you'll need to
install an X server to use these).

You could also try suggesting the TortoiseGit folk handle the symlinks
created by Cygwin (of whatever flavour) as symlinks in the Git
repository, but even if they accept that as a feature request I'd guess
it'd be a while before it'd be available.

> I guess Windows native tool can handle the symlink if
> "CYGWIN=winsymlinks:nativestrict".
> However, if I set CYGWIN=winsymlinks:nativestrict, repo init fails with
>     os.symlink(os.path.relpath(src, os.path.dirname(dst)), dst)
>     OSError: [Errno 2] No such file or directory

This seems odd, although the error here really doesn't say very much
about what's going on.  I've no idea if this is being run in Cygwin
Python or Windows Python, and I have no idea of the directory structure
and symlink locations in the paths it's using.

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list