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:
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;
|
||||
}
|
||||
|
||||
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 @@ cleanup_head_ref:
|
||||
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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user