1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-28 17:26:12 +02:00

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>
This commit is contained in:
Denton Liu 2020-04-07 10:27:56 -04:00 committed by Junio C Hamano
parent efcf6cf049
commit be1bb600da

View File

@ -3657,13 +3657,13 @@ static enum todo_command peek_command(struct todo_list *todo_list, int offset)
return -1;
}
static int apply_autostash(struct replay_opts *opts)
static int apply_autostash(const char *path)
{
struct strbuf stash_sha1 = STRBUF_INIT;
struct child_process child = CHILD_PROCESS_INIT;
int ret = 0;
if (!read_oneliner(&stash_sha1, rebase_path_autostash(),
if (!read_oneliner(&stash_sha1, path,
READ_ONELINER_SKIP_IF_EMPTY)) {
strbuf_release(&stash_sha1);
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);
if (run_git_checkout(r, opts, oid_to_hex(onto), action)) {
apply_autostash(opts);
apply_autostash(rebase_path_autostash());
sequencer_remove_state(opts);
return error(_("could not detach HEAD"));
}
@ -4070,7 +4070,7 @@ static int pick_commits(struct repository *r,
run_command(&hook);
}
}
apply_autostash(opts);
apply_autostash(rebase_path_autostash());
if (!opts->quiet) {
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);
if (count_commands(todo_list) == 0) {
apply_autostash(opts);
apply_autostash(rebase_path_autostash());
sequencer_remove_state(opts);
return error(_("nothing to do"));
@ -5090,12 +5090,12 @@ int complete_action(struct repository *r, struct replay_opts *opts, unsigned fla
if (res == -1)
return -1;
else if (res == -2) {
apply_autostash(opts);
apply_autostash(rebase_path_autostash());
sequencer_remove_state(opts);
return -1;
} else if (res == -3) {
apply_autostash(opts);
apply_autostash(rebase_path_autostash());
sequencer_remove_state(opts);
todo_list_release(&new_todo);