Code

git push: add verbose flag and allow overriding of default target repository
authorLinus Torvalds <torvalds@osdl.org>
Mon, 30 Oct 2006 16:28:59 +0000 (08:28 -0800)
committerJunio C Hamano <junkio@cox.net>
Tue, 31 Oct 2006 03:39:12 +0000 (19:39 -0800)
This adds a command line flag "-v" to enable a more verbose mode, and
"--repo=" to override the default target repository for "git push" (which
otherwise always defaults to "origin").

This, together with the patch to allow dashes in config variable names,
allows me to do

[alias]
push-all = push -v --repo=all

in my user-global config file, and then I can (for any project I maintain)
add to the project-local config file

[remote "all"]
url=one.target.repo:/directory
url=another.target:/pub/somewhere/else

and now "git push-all" just updates all the target repositories, and shows
me what it does - regardless of which repo I am in.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-push.c

index f5150ed82d269dd825a45cc9c369c71e777bac05..3151fb790d26f3f4f6b29015f1410c68b598fce6 100644 (file)
@@ -10,7 +10,7 @@
 
 static const char push_usage[] = "git-push [--all] [--tags] [-f | --force] <repository> [<refspec>...]";
 
-static int all, tags, force, thin = 1;
+static int all, tags, force, thin = 1, verbose;
 static const char *execute;
 
 #define BUF_SIZE (2084)
@@ -248,6 +248,8 @@ static int do_push(const char *repo)
                while (dest_refspec_nr--)
                        argv[dest_argc++] = *dest_refspec++;
                argv[dest_argc] = NULL;
+               if (verbose)
+                       fprintf(stderr, "Pushing to %s\n", dest);
                err = run_command_v(argc, argv);
                if (!err)
                        continue;
@@ -281,6 +283,14 @@ int cmd_push(int argc, const char **argv, const char *prefix)
                        i++;
                        break;
                }
+               if (!strcmp(arg, "-v")) {
+                       verbose=1;
+                       continue;
+               }
+               if (!strncmp(arg, "--repo=", 7)) {
+                       repo = arg+7;
+                       continue;
+               }
                if (!strcmp(arg, "--all")) {
                        all = 1;
                        continue;