summaryrefslogtreecommitdiff
path: root/rsh.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-08-10 07:10:18 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-08-10 07:10:18 (GMT)
commitf69714c38c6f3296a4bfba0d057e0f1605373f49 (patch)
tree2d850f14f62d33ed514e2b197b63fe459ff20d37 /rsh.c
parentedee414c3e5a546aae3dd1529f397df949713305 (diff)
parentc35a7b8d806317dc1762e36561cbd31c2530dd9c (diff)
downloadgit-f69714c38c6f3296a4bfba0d057e0f1605373f49.zip
git-f69714c38c6f3296a4bfba0d057e0f1605373f49.tar.gz
git-f69714c38c6f3296a4bfba0d057e0f1605373f49.tar.bz2
Merge with master.
This merges commit c35a7b8d806317dc1762e36561cbd31c2530dd9c from master into our head commit edee414c3e5a546aae3dd1529f397df949713305 Sincerely, jit-merge command.
Diffstat (limited to 'rsh.c')
-rw-r--r--rsh.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/rsh.c b/rsh.c
index fe87e58..bcb1c80 100644
--- a/rsh.c
+++ b/rsh.c
@@ -56,10 +56,16 @@ int setup_connection(int *fd_in, int *fd_out, const char *remote_prog,
return error("Couldn't create socket");
}
if (!fork()) {
+ const char *ssh = getenv("GIT_SSH") ? : "ssh";
+ const char *ssh_basename = strrchr(ssh, '/');
+ if (!ssh_basename)
+ ssh_basename = ssh;
+ else
+ ssh_basename++;
close(sv[1]);
dup2(sv[0], 0);
dup2(sv[0], 1);
- execlp("ssh", "ssh", host, command, NULL);
+ execlp(ssh, ssh_basename, host, command, NULL);
}
close(sv[0]);
*fd_in = sv[1];