If GIT_ASKPASS is not set and SSH_ASKPASS set, GIT_ASKPASS will use SSH_ASKPASS. If GIT_ASKPASS set and SSH_ASKPASS is not set, SSH_ASKPASS will use GIT_ASKPASS.
Signed-off-by: Frank Li <lznuaa@gmail.com> --- git.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
Show changes to git.c +5 −0
diff --git a/git.c b/git.c index 90c6daf..39e1eba 100644 --- a/git.c +++ b/git.c @@ -54,6 +54,11 @@ static int handle_options(const char ***argv, int *argc, int *envchanged) { int handled = 0; + if (getenv("GIT_ASKPASS") && !getenv("SSH_ASKPASS")) + setenv("SSH_ASKPASS", getenv("GIT_ASKPASS"), 1); + if (!getenv("GIT_ASKPASS") && getenv("SSH_ASKPASS")) + setenv("GIT_ASKPASS", getenv("SSH_ASKPASS"), 1); + while (*argc > 0) { const char *cmd = (*argv)[0]; if (cmd[0] != '-')
-- 1.7.0.85.g37fda.dirty