Jeff King wrote:

> I don't think that is enough. Something like /path/to/foo:bar would
> trigger !is_url already, but then git_connect fails.

Doh.  Here's another try, still untested.

diff --git i/connect.c w/connect.c
index 49e56ba3..fe13942f 100644
--- i/connect.c
+++ w/connect.c
@@ -504,6 +504,7 @@ struct child_process *git_connect(int fd[2], const char 
*url_orig,
        int c;
        struct child_process *conn = &no_fork;
        enum protocol protocol = PROTO_LOCAL;
+       struct stat st;
        int free_path = 0;
        char *port = NULL;
        const char **arg;
@@ -548,7 +549,8 @@ struct child_process *git_connect(int fd[2], const char 
*url_orig,
                end = host;
 
        path = strchr(end, c);
-       if (path && !has_dos_drive_prefix(end)) {
+       if (path && !has_dos_drive_prefix(end) &&
+           (c != ':' || stat(path, &st))) {
                if (c == ':') {
                        protocol = PROTO_SSH;
                        *path++ = '\0';
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to