Re: [PATCH] git_connect: allow passing arguments to ssh in GIT_SSH_ARGS
From: Jeff King <hidden>
Date: 2016-06-15 23:02:53
On Sat, Nov 08, 2014 at 11:44:39AM +0100, Thomas Quinot wrote:
It may be impractical to install a wrapper script for ssh when additional parameters need to be passed. Provide an alternative way of specifying these by means of the GIT_SSH_ARGS environment variable. Arguments are whitespace delimited following usual shell conventions; embedded whitespace can be enclosed in quotes, or escaped with a backslash.
This has bugged me before, too. Almost every sub-program invoked by git
is done so using a shell, so you can put in arbitrary arguments or even
snippets of shell code. But not GIT_SSH.
I think the original reason was to match other programs with similar
variables. At this point, we can't just change it on a whim; the quoting
requirements are different and it would break people's setups. So your
approach of adding a new variable is good (the other option is figuring
out a long-term transition plan).
However, I'm not sure adding a separate variable for options is the best
we can do. Besides being a bit clunky, it has two big shortcomings:
1. It's not consistent with other git variables that use the shell
(e.g., GIT_PAGER).
2. It's not as flexible as a shell; you can't specify "$HOME/bin/ssh"
or other even more esoteric things, like dynamically tweaking
the options based on the environment.
What do you think of adding an alternate variable that is not ssh
_arguments_, but rather just a full shell command for running ssh?
I'm not sure what it could be called (GIT_SSH_SH is probably too
confusing).
I hope I won't stray too far away from established procedures with my first contribution to git. This patch adds support for a GIT_SSH_ARGS environment variable, providing a way of specifying ssh arguments without having to create a wrapper script.
The formatting and whatnot of your submission looks fine to me. The patch itself looks reasonable, though I didn't look too closely after making my comments above. :) -Peff