aboutsummaryrefslogtreecommitdiff
path: root/connect.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-06-13 12:50:42 -0700
committerJunio C Hamano <gitster@pobox.com>2009-06-13 12:50:42 -0700
commit95ad2a65fbb9b7f26669fed9906fe9a1a531810b (patch)
tree596412d5d138652245b1f84d7249a471cc125108 /connect.c
parent0a17b2cd7ebc0beeab6121d96ce812f22994cc39 (diff)
parent021fcd99bdafa43aa2834623d9257a1dea4492c2 (diff)
downloadgit-95ad2a65fbb9b7f26669fed9906fe9a1a531810b.tar.gz
git-95ad2a65fbb9b7f26669fed9906fe9a1a531810b.tar.xz
Merge branch 'sp/msysgit'
* sp/msysgit: compat/ has subdirectories: do not omit them in 'make clean' Fix typo in nedmalloc warning fix MinGW: Teach Makefile to detect msysgit and apply specific settings Fix warnings in nedmalloc when compiling with GCC 4.4.0 Add custom memory allocator to MinGW and MacOS builds MinGW readdir reimplementation to support d_type connect.c: Support PuTTY plink and TortoisePlink as SSH on Windows git: browsing paths with spaces when using the start command MinGW: fix warning about implicit declaration of _getch() test-chmtime: work around Windows limitation Work around a regression in Windows 7, causing erase_in_line() to crash sometimes Quiet make: do not leave Windows behind MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymore Conflicts: Makefile
Diffstat (limited to 'connect.c')
-rw-r--r--connect.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/connect.c b/connect.c
index 958c831e4..0ce941ef4 100644
--- a/connect.c
+++ b/connect.c
@@ -605,14 +605,18 @@ struct child_process *git_connect(int fd[2], const char *url_orig,
die("command line too long");
conn->in = conn->out = -1;
- conn->argv = arg = xcalloc(6, sizeof(*arg));
+ conn->argv = arg = xcalloc(7, sizeof(*arg));
if (protocol == PROTO_SSH) {
const char *ssh = getenv("GIT_SSH");
+ int putty = ssh && strcasestr(ssh, "plink");
if (!ssh) ssh = "ssh";
*arg++ = ssh;
+ if (putty && !strcasestr(ssh, "tortoiseplink"))
+ *arg++ = "-batch";
if (port) {
- *arg++ = "-p";
+ /* P is for PuTTY, p is for OpenSSH */
+ *arg++ = putty ? "-P" : "-p";
*arg++ = port;
}
*arg++ = host;