[PATCH] ssh-push: Don't add '/' to pathname
authorSven Verdoolaege <skimo@liacs.nl>
Tue, 14 Jun 2005 10:37:38 +0000 (12:37 +0200)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 14 Jun 2005 19:09:34 +0000 (12:09 -0700)
Paths in the host:path notation are usually interpreted
relative to the login directory rather than relative to
the root directory.

Signed-off-by: Sven Verdoolaege <skimo@liacs.nl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
rsh.c
diff --git a/rsh.c b/rsh.c
index 8eea1d0233164a5d0d4977593538289dd93f722d..5615c74e7d5f4e5f9d93c0f90c6f57fe8b41442f 100644 (file)
--- a/rsh.c
+++ b/rsh.c
@@ -31,14 +31,15 @@ int setup_connection(int *fd_in, int *fd_out, const char *remote_prog,
        } else {
                host = url;
                path = strchr(host, ':');
+               if (path)
+                       *(path++) = '\0';
        }
        if (!path) {
                return error("Bad URL: %s", url);
        }
-       *(path++) = '\0';
-       /* ssh <host> 'cd /<path>; stdio-pull <arg...> <commit-id>' */
+       /* ssh <host> 'cd <path>; stdio-pull <arg...> <commit-id>' */
        snprintf(command, COMMAND_SIZE, 
-                "%s='/%s' %s",
+                "%s='%s' %s",
                 GIT_DIR_ENVIRONMENT, path, remote_prog);
        posn = command + strlen(command);
        for (i = 0; i < rmt_argc; i++) {