projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] Documentation: adjust cvsimport command line.
[git.git]
/
clone-pack.c
diff --git
a/clone-pack.c
b/clone-pack.c
index
b9b8437
..
2aa5220
100644
(file)
--- a/
clone-pack.c
+++ b/
clone-pack.c
@@
-3,7
+3,8
@@
#include "pkt-line.h"
#include <sys/wait.h>
#include "pkt-line.h"
#include <sys/wait.h>
-static const char clone_pack_usage[] = "git-clone-pack [host:]directory [heads]*";
+static int quiet;
+static const char clone_pack_usage[] = "git-clone-pack [-q] [--exec=<git-upload-pack>] [<host>:]<directory> [<heads>]*";
static const char *exec = "git-upload-pack";
struct ref {
static const char *exec = "git-upload-pack";
struct ref {
@@
-12,7
+13,7
@@
struct ref {
char name[0];
};
char name[0];
};
-struct ref *get_remote_refs(int fd, int nr_match, char **match)
+st
atic st
ruct ref *get_remote_refs(int fd, int nr_match, char **match)
{
struct ref *ref_list = NULL, **next_ref = &ref_list;
{
struct ref *ref_list = NULL, **next_ref = &ref_list;
@@
-29,7
+30,7
@@
struct ref *get_remote_refs(int fd, int nr_match, char **match)
if (line[len-1] == '\n')
line[--len] = 0;
if (len < 42 || get_sha1_hex(line, sha1))
if (line[len-1] == '\n')
line[--len] = 0;
if (len < 42 || get_sha1_hex(line, sha1))
- die("git-
fetch-pack: protocol error - expected ref descriptor, got '%s¤
'", line);
+ die("git-
clone-pack: protocol error - expected ref descriptor, got '%s
'", line);
refname = line+41;
len = len-40;
if (nr_match && !path_match(refname, nr_match, match))
refname = line+41;
len = len-40;
if (nr_match && !path_match(refname, nr_match, match))
@@
-151,10
+152,11
@@
static int clone_pack(int fd[2], int nr_match, char **match)
if (pid < 0)
die("git-clone-pack: unable to fork off git-unpack-objects");
if (!pid) {
if (pid < 0)
die("git-clone-pack: unable to fork off git-unpack-objects");
if (!pid) {
- close(fd[1]);
dup2(fd[0], 0);
close(fd[0]);
dup2(fd[0], 0);
close(fd[0]);
- execlp("git-unpack-objects", "git-unpack-objects", NULL);
+ close(fd[1]);
+ execlp("git-unpack-objects", "git-unpack-objects",
+ quiet ? "-q" : NULL, NULL);
die("git-unpack-objects exec failed");
}
close(fd[0]);
die("git-unpack-objects exec failed");
}
close(fd[0]);
@@
-190,7
+192,14
@@
int main(int argc, char **argv)
char *arg = argv[i];
if (*arg == '-') {
char *arg = argv[i];
if (*arg == '-') {
- /* Arguments go here */
+ if (!strcmp("-q", arg)) {
+ quiet = 1;
+ continue;
+ }
+ if (!strncmp("--exec=", arg, 7)) {
+ exec = arg + 7;
+ continue;
+ }
usage(clone_pack_usage);
}
dest = arg;
usage(clone_pack_usage);
}
dest = arg;