]> git.ipfire.org Git - thirdparty/git.git/commitdiff
sequencer: make apply_autostash() accept a path
authorDenton Liu <liu.denton@gmail.com>
Tue, 7 Apr 2020 14:27:56 +0000 (10:27 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 10 Apr 2020 16:28:02 +0000 (09:28 -0700)
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>
sequencer.c

index 0d98ddc33cf89d92183258f0b3563fdff41abd19..4917c70a86289ee4f934eb9629e727ebd09f7bfa 100644 (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 @@ 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);