Skip to main content
Active reading [<https://en.wikipedia.org/wiki/Microsoft_Windows> <https://github.com/msysgit/> <https://en.wikipedia.org/wiki/Git>]. Expanded. There isn't any need to declare a question. Removed the meta question (if it implies something, it should be stated directly).
Source Link
Peter Mortensen
  • 31.2k
  • 22
  • 110
  • 134

Git Symlinkssymbolic links in Windows

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:

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? iI.e., can I recursively find out the dummy "symlink" files gitGit creates?
  3. Has anybody already worked on such a script?

Git Symlinks in Windows

Our developers use a mix of Windows and Unix-based OSs. 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 the 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:

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? i.e. can I recursively find out the dummy "symlink" files git creates?
  3. Has anybody already worked on such a script?

Git symbolic links in Windows

Our developers use a mix of Windows and Unix-based OSes. Therefore, symbolic links created on Unix machines become a problem for Windows developers. In Windows (MSysGit), the symbolic link is converted to a text file with a path to the file it points to. Instead, I'd like to convert the symbolic link into an actual Windows symbolic link.

The (updated) solution I have to this is:

  • Write a post-checkout script that will recursively look for "symbolic link" text files.
  • Replace them with a Windows symbolic link (using mklink) with the same name and extension as dummy "symbolic link"
  • Ignore these Windows symbolic links by adding an entry into file .git/info/exclude

I have not implemented this, but I believe this is a solid approach to this problem.

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? I.e., can I recursively find out the dummy "symlink" files Git creates?

Our developers use a mix of Windows and Unix based OS's-based OSs. 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 the 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:

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? i.e. can I recursively find out the dummy "symlink" files git creates?
  3. Has anybody already worked on such a script?

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 entry into .git/info/exclude

I have not implemented this, but I believe this is a solid approach to this problem.

Questions:

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? i.e. can I recursively find out the dummy "symlink" files git creates?
  3. Has anybody already worked on such script?

Our developers use a mix of Windows and Unix-based OSs. 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 the 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:

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? i.e. can I recursively find out the dummy "symlink" files git creates?
  3. Has anybody already worked on such a script?
deleted 66 characters in body
Source Link
ROMANIA_engineer
  • 57.1k
  • 30
  • 211
  • 208

The problem: OurOur developers use a mix of Windows and Unix based OS's. ThereforeTherefore, symlinks created on Unix machines become a problem for Windows developers. InIn windows (msysgit), the symlink is converted to a text file with a path to the file it points to. InsteadInstead, 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 entry into .git/info/exclude

I have not implemented this, but I believe this is a solid approach to this problem.

The question I have for you isQuestions:

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? i.e. can I recursively find out the dummy "symlink" files git creates?
  3. Has anybody already worked on such script? =)

Thanks a bunch!

The problem: 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 entry into .git/info/exclude

I have not implemented this, but I believe this is a solid approach to this problem.

The question I have for you is:

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? i.e. can I recursively find out the dummy "symlink" files git creates?
  3. Has anybody already worked on such script? =)

Thanks a bunch!

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 entry into .git/info/exclude

I have not implemented this, but I believe this is a solid approach to this problem.

Questions:

  1. What, if any, downsides do you see to this approach?
  2. Is this post-checkout script even implementable? i.e. can I recursively find out the dummy "symlink" files git creates?
  3. Has anybody already worked on such script?
Notice removed Reward existing answer by Matt
Bounty Ended with Mark G.'s answer chosen by Matt
Notice added Reward existing answer by Matt
Bounty Started worth 100 reputation by Matt
deleted 47 characters in body
Source Link
Ken Hirakawa
  • 8.4k
  • 10
  • 41
  • 49
Loading
Source Link
Ken Hirakawa
  • 8.4k
  • 10
  • 41
  • 49
Loading