Signed-off-by: Mike Hommey <[email protected]>
---
 connect.c | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

Note this makes http://marc.info/?l=git&m=146183714532394 irrelevant.


diff --git a/connect.c b/connect.c
index 29569b3..ce216cb 100644
--- a/connect.c
+++ b/connect.c
@@ -676,10 +676,20 @@ struct child_process *git_connect(int fd[2], const char 
*url,
        signal(SIGCHLD, SIG_DFL);
 
        protocol = parse_connect_url(url, &hostandport, &path);
-       if ((flags & CONNECT_DIAG_URL) && (protocol != PROTO_SSH)) {
+       if (flags & CONNECT_DIAG_URL) {
                printf("Diag: url=%s\n", url ? url : "NULL");
                printf("Diag: protocol=%s\n", prot_name(protocol));
-               printf("Diag: hostandport=%s\n", hostandport ? hostandport : 
"NULL");
+               if (protocol == PROTO_SSH) {
+                       char *ssh_host = hostandport;
+                       const char *port = NULL;
+                       get_host_and_port(&ssh_host, &port);
+                       if (!port)
+                               port = get_port(ssh_host);
+                       printf("Diag: userandhost=%s\n", ssh_host ? ssh_host : 
"NULL");
+                       printf("Diag: port=%s\n", port ? port : "NONE");
+               } else {
+                       printf("Diag: hostandport=%s\n", hostandport ? 
hostandport : "NULL");
+               }
                printf("Diag: path=%s\n", path ? path : "NULL");
                conn = NULL;
        } else if (protocol == PROTO_GIT) {
@@ -738,19 +748,6 @@ struct child_process *git_connect(int fd[2], const char 
*url,
                        if (!port)
                                port = get_port(ssh_host);
 
-                       if (flags & CONNECT_DIAG_URL) {
-                               printf("Diag: url=%s\n", url ? url : "NULL");
-                               printf("Diag: protocol=%s\n", 
prot_name(protocol));
-                               printf("Diag: userandhost=%s\n", ssh_host ? 
ssh_host : "NULL");
-                               printf("Diag: port=%s\n", port ? port : "NONE");
-                               printf("Diag: path=%s\n", path ? path : "NULL");
-
-                               free(hostandport);
-                               free(path);
-                               free(conn);
-                               return NULL;
-                       }
-
                        ssh = getenv("GIT_SSH_COMMAND");
                        if (!ssh) {
                                const char *base;
-- 
2.8.1.8.gc23d642.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to