diff options
author | Linus Torvalds <torvalds@osdl.org> | 2006-10-30 08:28:59 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-10-30 19:39:12 -0800 |
commit | bcc785f611dc6084be75999a3b6bafcc950e21d6 (patch) | |
tree | 82abdfd9f64ceeb0d5788faa9920ce511a2c9822 /builtin-push.c | |
parent | 38c5afa87e24756f0465e24c2b7018de62e4bfc1 (diff) | |
download | git-bcc785f611dc6084be75999a3b6bafcc950e21d6.tar.gz |
git push: add verbose flag and allow overriding of default target repository
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>
Diffstat (limited to 'builtin-push.c')
-rw-r--r-- | builtin-push.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/builtin-push.c b/builtin-push.c index f5150ed82d..3151fb790d 100644 --- a/builtin-push.c +++ b/builtin-push.c @@ -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; |