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
This commit is contained in:
commit
66fd23153a
@ -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;
|
||||
|
11
config.c
11
config.c
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user