]> git.ipfire.org Git - thirdparty/git.git/blobdiff - peek-remote.c
GIT-VERSION-FILE: check ./version first.
[thirdparty/git.git] / peek-remote.c
index 2b30980b04e68a84bd300d647e80a34c7d3e621f..ef3c76ce526f820d59e150ba08804caca71a4a11 100644 (file)
@@ -1,11 +1,10 @@
 #include "cache.h"
 #include "refs.h"
 #include "pkt-line.h"
-#include <sys/wait.h>
 
 static const char peek_remote_usage[] =
-"git-peek-remote [--exec=upload-pack] [host:]directory";
-static const char *exec = "git-upload-pack";
+"git-peek-remote [--upload-pack=<git-upload-pack>] [<host>:]<directory>";
+static const char *uploadpack = "git-upload-pack";
 
 static int peek_remote(int fd[2], unsigned flags)
 {
@@ -36,8 +35,12 @@ int main(int argc, char **argv)
                char *arg = argv[i];
 
                if (*arg == '-') {
+                       if (!strncmp("--upload-pack=", arg, 14)) {
+                               uploadpack = arg + 14;
+                               continue;
+                       }
                        if (!strncmp("--exec=", arg, 7)) {
-                               exec = arg + 7;
+                               uploadpack = arg + 7;
                                continue;
                        }
                        if (!strcmp("--tags", arg)) {
@@ -61,12 +64,12 @@ int main(int argc, char **argv)
        if (!dest || i != argc - 1)
                usage(peek_remote_usage);
 
-       pid = git_connect(fd, dest, exec);
+       pid = git_connect(fd, dest, uploadpack);
        if (pid < 0)
                return 1;
        ret = peek_remote(fd, flags);
        close(fd[0]);
        close(fd[1]);
-       finish_connect(pid);
-       return ret;
+       ret |= finish_connect(pid);
+       return !!ret;
 }