summaryrefslogtreecommitdiff
path: root/connect.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-06-13 19:50:42 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-06-13 19:50:42 (GMT)
commit95ad2a65fbb9b7f26669fed9906fe9a1a531810b (patch)
tree596412d5d138652245b1f84d7249a471cc125108 /connect.c
parent0a17b2cd7ebc0beeab6121d96ce812f22994cc39 (diff)
parent021fcd99bdafa43aa2834623d9257a1dea4492c2 (diff)
downloadgit-95ad2a65fbb9b7f26669fed9906fe9a1a531810b.zip
git-95ad2a65fbb9b7f26669fed9906fe9a1a531810b.tar.gz
git-95ad2a65fbb9b7f26669fed9906fe9a1a531810b.tar.bz2
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 958c831..0ce941e 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;