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>
This commit is contained in:
		 Linus Torvalds
					Linus Torvalds
				
			
				
					committed by
					
						 Junio C Hamano
						Junio C Hamano
					
				
			
			
				
	
			
			
			 Junio C Hamano
						Junio C Hamano
					
				
			
						parent
						
							38c5afa87e
						
					
				
				
					commit
					bcc785f611
				
			| @ -10,7 +10,7 @@ | |||||||
|  |  | ||||||
| static const char push_usage[] = "git-push [--all] [--tags] [-f | --force] <repository> [<refspec>...]"; | 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; | static const char *execute; | ||||||
|  |  | ||||||
| #define BUF_SIZE (2084) | #define BUF_SIZE (2084) | ||||||
| @ -248,6 +248,8 @@ static int do_push(const char *repo) | |||||||
| 		while (dest_refspec_nr--) | 		while (dest_refspec_nr--) | ||||||
| 			argv[dest_argc++] = *dest_refspec++; | 			argv[dest_argc++] = *dest_refspec++; | ||||||
| 		argv[dest_argc] = NULL; | 		argv[dest_argc] = NULL; | ||||||
|  | 		if (verbose) | ||||||
|  | 			fprintf(stderr, "Pushing to %s\n", dest); | ||||||
| 		err = run_command_v(argc, argv); | 		err = run_command_v(argc, argv); | ||||||
| 		if (!err) | 		if (!err) | ||||||
| 			continue; | 			continue; | ||||||
| @ -281,6 +283,14 @@ int cmd_push(int argc, const char **argv, const char *prefix) | |||||||
| 			i++; | 			i++; | ||||||
| 			break; | 			break; | ||||||
| 		} | 		} | ||||||
|  | 		if (!strcmp(arg, "-v")) { | ||||||
|  | 			verbose=1; | ||||||
|  | 			continue; | ||||||
|  | 		} | ||||||
|  | 		if (!strncmp(arg, "--repo=", 7)) { | ||||||
|  | 			repo = arg+7; | ||||||
|  | 			continue; | ||||||
|  | 		} | ||||||
| 		if (!strcmp(arg, "--all")) { | 		if (!strcmp(arg, "--all")) { | ||||||
| 			all = 1; | 			all = 1; | ||||||
| 			continue; | 			continue; | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user