revert: refactor code into a do_pick_commit() function
This is needed because we are going to make it possible to cherry-pick many commits instead of just one in the following commits. And we will be able to do that by just calling do_pick_commit() once for each commit to cherry-pick. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									2fb0e14f40
								
							
						
					
					
						commit
						7af46595b2
					
				|  | @ -365,7 +365,7 @@ static void do_recursive_merge(struct commit *base, struct commit *next, | ||||||
| 	fprintf(stderr, "Finished one %s.\n", me); | 	fprintf(stderr, "Finished one %s.\n", me); | ||||||
| } | } | ||||||
|  |  | ||||||
| static int revert_or_cherry_pick(int argc, const char **argv) | static int do_pick_commit(void) | ||||||
| { | { | ||||||
| 	unsigned char head[20]; | 	unsigned char head[20]; | ||||||
| 	struct commit *base, *next, *parent; | 	struct commit *base, *next, *parent; | ||||||
|  | @ -374,24 +374,6 @@ static int revert_or_cherry_pick(int argc, const char **argv) | ||||||
| 	char *defmsg = NULL; | 	char *defmsg = NULL; | ||||||
| 	struct strbuf msgbuf = STRBUF_INIT; | 	struct strbuf msgbuf = STRBUF_INIT; | ||||||
|  |  | ||||||
| 	git_config(git_default_config, NULL); |  | ||||||
| 	me = action == REVERT ? "revert" : "cherry-pick"; |  | ||||||
| 	setenv(GIT_REFLOG_ACTION, me, 0); |  | ||||||
| 	parse_args(argc, argv); |  | ||||||
|  |  | ||||||
| 	if (allow_ff) { |  | ||||||
| 		if (signoff) |  | ||||||
| 			die("cherry-pick --ff cannot be used with --signoff"); |  | ||||||
| 		if (no_commit) |  | ||||||
| 			die("cherry-pick --ff cannot be used with --no-commit"); |  | ||||||
| 		if (no_replay) |  | ||||||
| 			die("cherry-pick --ff cannot be used with -x"); |  | ||||||
| 		if (edit) |  | ||||||
| 			die("cherry-pick --ff cannot be used with --edit"); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	if (read_cache() < 0) |  | ||||||
| 		die("git %s: failed to read the index", me); |  | ||||||
| 	if (no_commit) { | 	if (no_commit) { | ||||||
| 		/* | 		/* | ||||||
| 		 * We do not intend to commit immediately.  We just want to | 		 * We do not intend to commit immediately.  We just want to | ||||||
|  | @ -545,6 +527,30 @@ static int revert_or_cherry_pick(int argc, const char **argv) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | static int revert_or_cherry_pick(int argc, const char **argv) | ||||||
|  | { | ||||||
|  | 	git_config(git_default_config, NULL); | ||||||
|  | 	me = action == REVERT ? "revert" : "cherry-pick"; | ||||||
|  | 	setenv(GIT_REFLOG_ACTION, me, 0); | ||||||
|  | 	parse_args(argc, argv); | ||||||
|  |  | ||||||
|  | 	if (allow_ff) { | ||||||
|  | 		if (signoff) | ||||||
|  | 			die("cherry-pick --ff cannot be used with --signoff"); | ||||||
|  | 		if (no_commit) | ||||||
|  | 			die("cherry-pick --ff cannot be used with --no-commit"); | ||||||
|  | 		if (no_replay) | ||||||
|  | 			die("cherry-pick --ff cannot be used with -x"); | ||||||
|  | 		if (edit) | ||||||
|  | 			die("cherry-pick --ff cannot be used with --edit"); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	if (read_cache() < 0) | ||||||
|  | 		die("git %s: failed to read the index", me); | ||||||
|  |  | ||||||
|  | 	return do_pick_commit(); | ||||||
|  | } | ||||||
|  |  | ||||||
| int cmd_revert(int argc, const char **argv, const char *prefix) | int cmd_revert(int argc, const char **argv, const char *prefix) | ||||||
| { | { | ||||||
| 	if (isatty(0)) | 	if (isatty(0)) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Christian Couder
						Christian Couder