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:
		@ -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;
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user