Our developers use a mix of Windows and Unix based OS's. Therefore, symlinks created on Unix machines become a problem for Windows developers. In windows (msysgit), the symlink is converted to a text file with a path to the file it points to. Instead, I'd like to convert the symlink into an actual Windows symlink.
The (updated) solution I have to this is:
Write a post-checkout script that will recursively look for "symlink" text files.
Replace them with windows symlink (using mklink) with same name and extension as dummy "symlink"
Ignore these windows symlink by adding an entry into .git/info/exclude
I have not implemented this, but I believe this is a solid approach to this problem.
Questions:
What, if any, downsides do you see to this approach?
Is this post-checkout script even implementable? i.e. can I recursively find out the dummy "symlink" files git creates?
Has anybody already worked on such a script?