From: Junio C Hamano <gits...@pobox.com>

One of these two may have originally been named after "what exact
SSH implementation do we have" so that we can tweak the command line
options, but these days "putty=1" no longer means "We are using the
plink SSH implementation that comes with PuTTY".  It is set when we
guess that either PuTTY plink or Tortoiseplink is in use.

Rename them after what effect is desired.  The current "putty"
option is about using "-P <port>" when OpenSSH would use "-p <port>",
so rename it to port_option whose value is either 'p' or 'P".  The
other one is about passing an extra command line option "-batch",
so rename it needs_batch.

[jes: wrapped overly-long line]

Signed-off-by: Junio C Hamano <gits...@pobox.com>
Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>
---
 connect.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/connect.c b/connect.c
index c81f77001b..9f750eacb6 100644
--- a/connect.c
+++ b/connect.c
@@ -769,7 +769,8 @@ struct child_process *git_connect(int fd[2], const char 
*url,
                conn->in = conn->out = -1;
                if (protocol == PROTO_SSH) {
                        const char *ssh;
-                       int putty = 0, tortoiseplink = 0;
+                       int needs_batch = 0;
+                       int port_option = 'p';
                        char *ssh_host = hostandport;
                        const char *port = NULL;
                        char *ssh_argv0 = NULL;
@@ -819,12 +820,14 @@ struct child_process *git_connect(int fd[2], const char 
*url,
                        if (ssh_argv0) {
                                const char *base = basename(ssh_argv0);
 
-                               tortoiseplink = !strcasecmp(base, 
"tortoiseplink") ||
-                                       !strcasecmp(base, "tortoiseplink.exe");
-                               putty = tortoiseplink ||
-                                       !strcasecmp(base, "plink") ||
-                                       !strcasecmp(base, "plink.exe");
-
+                               if (!strcasecmp(base, "tortoiseplink") ||
+                                   !strcasecmp(base, "tortoiseplink.exe")) {
+                                       port_option = 'P';
+                                       needs_batch = 1;
+                               } else if (!strcasecmp(base, "plink") ||
+                                          !strcasecmp(base, "plink.exe")) {
+                                       port_option = 'P';
+                               }
                                free(ssh_argv0);
                        }
 
@@ -833,11 +836,11 @@ struct child_process *git_connect(int fd[2], const char 
*url,
                                argv_array_push(&conn->args, "-4");
                        else if (flags & CONNECT_IPV6)
                                argv_array_push(&conn->args, "-6");
-                       if (tortoiseplink)
+                       if (needs_batch)
                                argv_array_push(&conn->args, "-batch");
                        if (port) {
-                               /* P is for PuTTY, p is for OpenSSH */
-                               argv_array_push(&conn->args, putty ? "-P" : 
"-p");
+                               argv_array_pushf(&conn->args,
+                                                "-%c", port_option);
                                argv_array_push(&conn->args, port);
                        }
                        argv_array_push(&conn->args, ssh_host);
-- 
2.11.1.windows.prerelease.2.9.g3014b57


Reply via email to