Fix custom ports with plink

PuTTY requires -P while OpenSSH requires -p; if plink is detected
as GIT_SSH, use the alternate flag.

Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
This commit is contained in:
Edward Z. Yang
2008-06-15 15:53:57 -04:00
committed by Steffen Prohaska
parent f01c16a4bb
commit a58901c9bd

View File

@@ -596,14 +596,17 @@ struct child_process *git_connect(int fd[2], const char *url_orig,
die("command line too long");
conn->in = conn->out = -1;
/* be sure to increase this size if you add more args */
conn->argv = arg = xcalloc(6, sizeof(*arg));
if (protocol == PROTO_SSH) {
const char *ssh = getenv("GIT_SSH");
int putty = ssh && strstr(ssh, "plink");
if (!ssh) ssh = "ssh";
*arg++ = ssh;
if (port) {
*arg++ = "-p";
/* P is for PuTTY, p is for OpenSSH */
*arg++ = putty ? "-P" : "-p";
*arg++ = port;
}
*arg++ = host;