sequencer: make apply_autostash() accept a path
In order to make apply_autostash() more generic for future extraction, make it accept a `path` argument so that the location from where to read the reference to the autostash commit can be customized. Remove the `opts` argument since it was unused before anyway. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									efcf6cf049
								
							
						
					
					
						commit
						be1bb600da
					
				
							
								
								
									
										14
									
								
								sequencer.c
								
								
								
								
							
							
						
						
									
										14
									
								
								sequencer.c
								
								
								
								
							|  | @ -3657,13 +3657,13 @@ static enum todo_command peek_command(struct todo_list *todo_list, int offset) | ||||||
| 	return -1; | 	return -1; | ||||||
| } | } | ||||||
|  |  | ||||||
| static int apply_autostash(struct replay_opts *opts) | static int apply_autostash(const char *path) | ||||||
| { | { | ||||||
| 	struct strbuf stash_sha1 = STRBUF_INIT; | 	struct strbuf stash_sha1 = STRBUF_INIT; | ||||||
| 	struct child_process child = CHILD_PROCESS_INIT; | 	struct child_process child = CHILD_PROCESS_INIT; | ||||||
| 	int ret = 0; | 	int ret = 0; | ||||||
|  |  | ||||||
| 	if (!read_oneliner(&stash_sha1, rebase_path_autostash(), | 	if (!read_oneliner(&stash_sha1, path, | ||||||
| 			   READ_ONELINER_SKIP_IF_EMPTY)) { | 			   READ_ONELINER_SKIP_IF_EMPTY)) { | ||||||
| 		strbuf_release(&stash_sha1); | 		strbuf_release(&stash_sha1); | ||||||
| 		return 0; | 		return 0; | ||||||
|  | @ -3756,7 +3756,7 @@ static int checkout_onto(struct repository *r, struct replay_opts *opts, | ||||||
| 		return error(_("%s: not a valid OID"), orig_head); | 		return error(_("%s: not a valid OID"), orig_head); | ||||||
|  |  | ||||||
| 	if (run_git_checkout(r, opts, oid_to_hex(onto), action)) { | 	if (run_git_checkout(r, opts, oid_to_hex(onto), action)) { | ||||||
| 		apply_autostash(opts); | 		apply_autostash(rebase_path_autostash()); | ||||||
| 		sequencer_remove_state(opts); | 		sequencer_remove_state(opts); | ||||||
| 		return error(_("could not detach HEAD")); | 		return error(_("could not detach HEAD")); | ||||||
| 	} | 	} | ||||||
|  | @ -4070,7 +4070,7 @@ cleanup_head_ref: | ||||||
| 				run_command(&hook); | 				run_command(&hook); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		apply_autostash(opts); | 		apply_autostash(rebase_path_autostash()); | ||||||
|  |  | ||||||
| 		if (!opts->quiet) { | 		if (!opts->quiet) { | ||||||
| 			if (!opts->verbose) | 			if (!opts->verbose) | ||||||
|  | @ -5079,7 +5079,7 @@ int complete_action(struct repository *r, struct replay_opts *opts, unsigned fla | ||||||
| 		todo_list_add_exec_commands(todo_list, commands); | 		todo_list_add_exec_commands(todo_list, commands); | ||||||
|  |  | ||||||
| 	if (count_commands(todo_list) == 0) { | 	if (count_commands(todo_list) == 0) { | ||||||
| 		apply_autostash(opts); | 		apply_autostash(rebase_path_autostash()); | ||||||
| 		sequencer_remove_state(opts); | 		sequencer_remove_state(opts); | ||||||
|  |  | ||||||
| 		return error(_("nothing to do")); | 		return error(_("nothing to do")); | ||||||
|  | @ -5090,12 +5090,12 @@ int complete_action(struct repository *r, struct replay_opts *opts, unsigned fla | ||||||
| 	if (res == -1) | 	if (res == -1) | ||||||
| 		return -1; | 		return -1; | ||||||
| 	else if (res == -2) { | 	else if (res == -2) { | ||||||
| 		apply_autostash(opts); | 		apply_autostash(rebase_path_autostash()); | ||||||
| 		sequencer_remove_state(opts); | 		sequencer_remove_state(opts); | ||||||
|  |  | ||||||
| 		return -1; | 		return -1; | ||||||
| 	} else if (res == -3) { | 	} else if (res == -3) { | ||||||
| 		apply_autostash(opts); | 		apply_autostash(rebase_path_autostash()); | ||||||
| 		sequencer_remove_state(opts); | 		sequencer_remove_state(opts); | ||||||
| 		todo_list_release(&new_todo); | 		todo_list_release(&new_todo); | ||||||
|  |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Denton Liu
						Denton Liu