summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clone-pack.c9
-rwxr-xr-xgit-clone-script8
2 files changed, 12 insertions, 5 deletions
diff --git a/clone-pack.c b/clone-pack.c
index 31152c7..8f5209c 100644
--- a/clone-pack.c
+++ b/clone-pack.c
@@ -3,6 +3,7 @@
#include "pkt-line.h"
#include <sys/wait.h>
+static int quiet;
static const char clone_pack_usage[] = "git-clone-pack [host:]directory [heads]*";
static const char *exec = "git-upload-pack";
@@ -154,7 +155,8 @@ static int clone_pack(int fd[2], int nr_match, char **match)
close(fd[1]);
dup2(fd[0], 0);
close(fd[0]);
- execlp("git-unpack-objects", "git-unpack-objects", NULL);
+ execlp("git-unpack-objects", "git-unpack-objects",
+ quiet ? "-q" : NULL, NULL);
die("git-unpack-objects exec failed");
}
close(fd[0]);
@@ -190,7 +192,10 @@ int main(int argc, char **argv)
char *arg = argv[i];
if (*arg == '-') {
- /* Arguments go here */
+ if (!strcmp("-q", arg)) {
+ quiet = 1;
+ continue;
+ }
usage(clone_pack_usage);
}
dest = arg;
diff --git a/git-clone-script b/git-clone-script
index 01707e9..5a241fb 100755
--- a/git-clone-script
+++ b/git-clone-script
@@ -14,11 +14,13 @@ get_repo_base() {
(cd "$1" && (cd .git ; pwd)) 2> /dev/null
}
+quiet=
use_local=no
while
case "$#,$1" in
0,*) break ;;
*,-l|*,--l|*,--lo|*,--loc|*,--loca|*,--local) use_local=yes ;;
+ *,-q|*,--quiet) quiet=-q ;;
*,-*) usage ;;
*) break ;;
esac
@@ -81,14 +83,14 @@ esac
case "$repo" in
rsync://*)
- rsync -avz --ignore-existing "$repo/objects/" "$D/.git/objects/" &&
- rsync -avz --ignore-existing "$repo/refs/" "$D/.git/refs/"
+ rsync $quiet -avz --ignore-existing "$repo/objects/" "$D/.git/objects/" &&
+ rsync $quiet -avz --ignore-existing "$repo/refs/" "$D/.git/refs/"
;;
http://*)
echo "Somebody should add http fetch" >&2
exit 1
;;
*)
- cd "$D" && git-clone-pack "$repo"
+ cd "$D" && git-clone-pack $quiet "$repo"
;;
esac