On Wed, Apr 22, 2015 at 06:00:54PM -0400, Jeff King wrote:
> Yeah, that looks right to me. You might want to represent the "are we
> tortoise" check as a separate flag, though, and reuse it a few lines
> later.

Sounds like a good idea.  I'll send a more formal patch a bit later
today.

> Also, not related to your patch, but I notice the "putty" declaration is
> in a different scope than I would have expected, which made me wonder if
> it gets initialized in all code paths. I think is from the recent
> addition of CONNECT_DIAG_URL, which pushes the bulk of the code into its
> own else clause, even though the first part of the "if" always returns
> early.  I wonder if it would be simpler to read like:
> 
> diff --git a/connect.c b/connect.c
> index 391d211..749a07b 100644
> --- a/connect.c
> +++ b/connect.c
> @@ -743,28 +743,28 @@ struct child_process *git_connect(int fd[2], const char 
> *url,
>                               free(path);
>                               free(conn);
>                               return NULL;
> -                     } else {
> -                             ssh = getenv("GIT_SSH_COMMAND");
> -                             if (ssh) {
> -                                     conn->use_shell = 1;
> -                                     putty = 0;
> -                             } else {
> -                                     ssh = getenv("GIT_SSH");
> -                                     if (!ssh)
> -                                             ssh = "ssh";
> -                                     putty = !!strcasestr(ssh, "plink");
> -                             }
> -
> -                             argv_array_push(&conn->args, ssh);
> -                             if (putty && !strcasestr(ssh, "tortoiseplink"))
> -                                     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_push(&conn->args, port);
> -                             }
> -                             argv_array_push(&conn->args, ssh_host);
>                       }
> +
> +                     ssh = getenv("GIT_SSH_COMMAND");
> +                     if (ssh) {
> +                             conn->use_shell = 1;
> +                             putty = 0;
> +                     } else {
> +                             ssh = getenv("GIT_SSH");
> +                             if (!ssh)
> +                                     ssh = "ssh";
> +                             putty = !!strcasestr(ssh, "plink");
> +                     }
> +
> +                     argv_array_push(&conn->args, ssh);
> +                     if (putty && !strcasestr(ssh, "tortoiseplink"))
> +                             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_push(&conn->args, port);
> +                     }
> +                     argv_array_push(&conn->args, ssh_host);
>               } else {
>                       /* remove repo-local variables from the environment */
>                       conn->env = local_repo_env;

I can drop this in as a preparatory patch if I can have your sign-off.
-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

Attachment: signature.asc
Description: Digital signature

Reply via email to