[github] Comment created on issue 16 (Possible git-receive-pack.exe installation issue)

28 views
Skip to first unread message

GitHub

unread,
Jun 1, 2012, 3:49:48 AM6/1/12
to msy...@googlegroups.com
See https://github.com/msysgit/msysgit/issues/16

sschuberth added/edited comment:

@pleriche Also thanks from my side for the Wiki entry.

As I see it, we have 3 options to fix this:

1) Completely remove Symlinks in favor of Hardlinks form the installer.
2) Add a command line option to the installer ("/nosymlinks") to force falling back to Hardlinks.
3) Always hardlink upload-pack and receive-pack as Dscho suggested.

While 2) is a flexible solution, its drawback is that is has to be documented. I don't like 3) as it adds magic to the installer. Both 2) and 3) slightly increase the installer's complexity. So I'd vote for 1) as it

a) removes complexity from the installer,
b) Symlinks can be created by Admins only,
c) Symlinks have very limited advantages over Hardlinks in our case.

GitHub

unread,
Jun 1, 2012, 8:55:22 AM6/1/12
to msy...@googlegroups.com
See https://github.com/msysgit/msysgit/issues/16

pleriche added/edited comment:

@dscho I've submitted a pull request for the updated install.iss that creates hard links for git-receive-pack and git-upload-pack. I've tested it and it works.

@sschuberth Switching to hard links will solve the problem too, so either way I will be happy.

GitHub

unread,
Jun 1, 2012, 11:56:17 AM6/1/12
to msy...@googlegroups.com
See https://github.com/msysgit/msysgit/issues/16

dscho added/edited comment:

IIRC the original reasoning for using symlinks was that most backup software is stupid and does not realize when files are hardlinked...

So I'd like to submit

4) hard-link receive-pack and upload-pack as required for the remote side of pushing/fetching, but remove all other hard-linked .exe files, keeping only git.exe.

GitHub

unread,
Jun 1, 2012, 1:27:10 PM6/1/12
to msy...@googlegroups.com
See https://github.com/msysgit/msysgit/issues/16

pleriche added/edited comment:

If you're considering removing all the other symbolic/hard links, then very few files remain in the libexec/git-core folder and it begs the question: Why not just move the remaining files into /bin and do away with libexec/git-core? None of the installer options adds libexec/git-core to the path, so I would assume the executables in there are the less frequently used ones and moving them will probably not cause major disruption for most users.

With everything in /bin you could get away with just a single hard link (or even just a plain copy of git.exe) for git-receive-pack.exe. Git-upload-pack.exe is already a standalone executable, but since it currently resides in libexec/git-core it is not on the path.

GitHub

unread,
Jun 1, 2012, 1:37:38 PM6/1/12
to msy...@googlegroups.com
See https://github.com/msysgit/msysgit/issues/16

dscho added/edited comment:

@pleriche usually I would agree with doing away the libexec/git-core/ directory. But that is a decision we would have to get accepted upstream, chances for which I estimate to be very close to 0. So while I agree with you, pragmatically we'll probably have to keep it.

GitHub

unread,
Jun 3, 2012, 5:10:01 PM6/3/12
to msy...@googlegroups.com
See https://github.com/msysgit/msysgit/issues/16

sschuberth added/edited comment:

Fixed in da509c407c83f7ab781db10b895652f2108f506f by not trying to create Symbolic Links anymore, effectively falling back to Hardlinks. Dscho's suggestion number 4) may be additionally implemented in a future commit.

GitHub

unread,
Jun 4, 2012, 11:18:13 AM6/4/12
to msy...@googlegroups.com
See https://github.com/msysgit/msysgit/issues/16

dscho added/edited comment:

@sschuberth I agree, it is not my itch at this time and I have bigger fish to fry. And that would be a new issue.
Reply all
Reply to author
Forward
0 new messages