git-ssh-push/pull: usability improvements
Allow traditional ssh path specifiers (host:path), and let the user override the command name on the other end. With this, I can push to kernel.org with this script export GIT_SSH_PULL=/home/torvalds/bin/git-ssh-pull git-ssh-push -a -v -w heads/master heads/master master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git which while not pretty is at least workable.
This commit is contained in:
12
rsh.c
12
rsh.c
@ -8,7 +8,7 @@
|
||||
|
||||
#define COMMAND_SIZE 4096
|
||||
|
||||
int setup_connection(int *fd_in, int *fd_out, char *remote_prog,
|
||||
int setup_connection(int *fd_in, int *fd_out, const char *remote_prog,
|
||||
char *url, int rmt_argc, char **rmt_argv)
|
||||
{
|
||||
char *host;
|
||||
@ -25,11 +25,13 @@ int setup_connection(int *fd_in, int *fd_out, char *remote_prog,
|
||||
}
|
||||
|
||||
host = strstr(url, "//");
|
||||
if (!host) {
|
||||
return error("Bad URL: %s", url);
|
||||
if (host) {
|
||||
host += 2;
|
||||
path = strchr(host, '/');
|
||||
} else {
|
||||
host = url;
|
||||
path = strchr(host, ':');
|
||||
}
|
||||
host += 2;
|
||||
path = strchr(host, '/');
|
||||
if (!path) {
|
||||
return error("Bad URL: %s", url);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user