diff options
author | Junio C Hamano <junkio@cox.net> | 2006-11-05 04:18:29 +0300 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-11-05 04:18:29 +0300 |
commit | 66fd23153ae84df505f81b4816f54a62a467378f (patch) | |
tree | 06a5382733ad16118647d08cb3630e63e8380964 | |
parent | 67e78c3b8aeb44681b2d4ab2cf97145b7cc9a7a2 (diff) | |
parent | bcc785f611dc6084be75999a3b6bafcc950e21d6 (diff) |
Merge branch 'lt/push-config'
* lt/push-config:
git push: add verbose flag and allow overriding of default target repository
Allow '-' in config variable names
-rw-r--r-- | builtin-push.c | 12 | ||||
-rw-r--r-- | config.c | 11 |
2 files changed, 19 insertions, 4 deletions
diff --git a/builtin-push.c b/builtin-push.c index 5f7eccf14b..d23974e708 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; @@ -103,6 +103,11 @@ static char *parse_value(void) } } +static inline int iskeychar(int c) +{ + return isalnum(c) || c == '-'; +} + static int get_value(config_fn_t fn, char *name, unsigned int len) { int c; @@ -113,7 +118,7 @@ static int get_value(config_fn_t fn, char *name, unsigned int len) c = get_next_char(); if (c == EOF) break; - if (!isalnum(c)) + if (!iskeychar(c)) break; name[len++] = tolower(c); if (len >= MAXNAME) @@ -181,7 +186,7 @@ static int get_base_var(char *name) return baselen; if (isspace(c)) return get_extended_base_var(name, baselen, c); - if (!isalnum(c) && c != '.') + if (!iskeychar(c) && c != '.') return -1; if (baselen > MAXNAME / 2) return -1; @@ -573,7 +578,7 @@ int git_config_set_multivar(const char* key, const char* value, dot = 1; /* Leave the extended basename untouched.. */ if (!dot || i > store.baselen) { - if (!isalnum(c) || (i == store.baselen+1 && !isalpha(c))) { + if (!iskeychar(c) || (i == store.baselen+1 && !isalpha(c))) { fprintf(stderr, "invalid key: %s\n", key); free(store.key); ret = 1; |