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: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple