Our developers use a mix of Windows and Unix-based OSsOSes. Therefore, symlinkssymbolic links created on Unix machines become a problem for Windows developers. In windowsWindows (msysgitMSysGit), the symlinksymbolic link is converted to a text file with a path to the file it points to. Instead, I'd like to convert the symlinksymbolic link into an actual Windows symlinksymbolic link.
The (updated) solution I have to this is:
- Write a post-checkout script that will recursively look for "symlink""symbolic link" text files.
- Replace them with windows symlinka Windows symbolic link (using mklinkmklink) with the same name and extension as dummy "symlink""symbolic link"
- Ignore these windows symlinkWindows symbolic links by adding an entry into file .git/info/exclude.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? iI.e., can I recursively find out the dummy "symlink" files gitGit creates?
- Has anybody already worked on such a script?