Skip to content

Commit

Permalink
sequencer: make apply_rebase() accept a path
Browse files Browse the repository at this point in the history
In order to make apply_rebase() 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>
  • Loading branch information
Denton-L authored and gitster committed Jan 13, 2020
1 parent 186dbee commit 448bea6
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions sequencer.c
Expand Up @@ -3621,13 +3621,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(), 1, 0)) {
if (!read_oneliner(&stash_sha1, path, 1, 0)) {
strbuf_release(&stash_sha1);
return 0;
}
Expand Down Expand Up @@ -3733,7 +3733,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"));
}
Expand Down Expand Up @@ -4047,7 +4047,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)
Expand Down Expand Up @@ -5088,7 +5088,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"));
Expand All @@ -5099,12 +5099,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);

Expand Down

0 comments on commit 448bea6

Please sign in to comment.