Re: [ANNOUNCE] GIT 0.99.9g
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:11
Andreas Ericsson [off-list ref] writes:
quoted
Also places we execute git-upload-pack and git-receive-pack over an SSH connection need to be updated to execute 'git' with the first parameter 'upload-pack' and 'receive-pack' to make sure it would keep working with older or newer git on the other end.I've cooked up a patch that takes care of this if; git daemon is executed (rather than git-daemon)...
Actually I was more worried about these git native protocols
going over ssh, which is not helped by git-daemon. I think
teaching the libdir to git-shell would make sense for "git
restricted shell" users, but most users coming from ssh to run
git native protocols would need to have some way of running the
executable on the other end.
My current thinking about this problem is that the handful
programs that need to run "on the other end" should stay in
/usr/bin, even after we move most things out of /usr/bin, if
only to avoid configuration hassles. They are:
receive-pack, upload-pack
ssh-fetch, ssh-pull, ssh-push, ssh-upload
BTW, does anybody actually use these commit walkers over SSH?
Cogito switched out of it before 0.16r1 if I understand
correctly, and git barebone never used it. It might not be a
bad idea to deprecate these altogether, now packed transfer
seems to be much nicer.
BTW^2, git-octopus should be deprecated as well; I am a bit
reluctant to see git-resolve go but it probably should too.
All I really need to finalize it is that name, so It's up to you how fast you want it. Perhaps we could take a poll?
Somehow libdir reminds me of where libraries are installed by the Makefile, which usually does not mean executables, and that was the reason I mentioned --exec-path. Although I do not have strong preference myself either way, I do not think the list cares too much either, so in order not to waste time by indecision, let's just say we use this one:
The form will be exec_path=$(prefix)/lib/git-@@VERSION@@ GIT_EXEC_PATH --exec-path for Makefile, environment and 'git', respectively. Substitute the obvious part with whatever you prefer.
..., although I'm implementing Linus' idea of prepending the GIT_EXEC_PATH to $PATH so the porcelainish scripts in git-core shouldn't have to do it.
This sounds good to me; let's go with it. Thanks.