diff options
Diffstat (limited to 'builtin/am.c')
-rw-r--r-- | builtin/am.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/builtin/am.c b/builtin/am.c index 21aedec41f..1151b5c73a 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1062,7 +1062,7 @@ static void am_setup(struct am_state *state, enum patch_format patch_format, } write_state_text(state, "scissors", str); - sq_quote_argv(&sb, state->git_apply_opts.argv, 0); + sq_quote_argv(&sb, state->git_apply_opts.argv); write_state_text(state, "apply-opt", sb.buf); if (state->rebasing) @@ -1645,8 +1645,8 @@ static void do_commit(const struct am_state *state) setenv("GIT_COMMITTER_DATE", state->ignore_date ? "" : state->author_date, 1); - if (commit_tree(state->msg, state->msg_len, tree.hash, parents, commit.hash, - author, state->sign_commit)) + if (commit_tree(state->msg, state->msg_len, &tree, parents, &commit, + author, state->sign_commit)) die(_("failed to write commit object")); reflog_msg = getenv("GIT_REFLOG_ACTION"); @@ -2181,6 +2181,7 @@ enum resume_mode { RESUME_RESOLVED, RESUME_SKIP, RESUME_ABORT, + RESUME_QUIT, RESUME_SHOW_PATCH }; @@ -2282,6 +2283,9 @@ int cmd_am(int argc, const char **argv, const char *prefix) OPT_CMDMODE(0, "abort", &resume, N_("restore the original branch and abort the patching operation."), RESUME_ABORT), + OPT_CMDMODE(0, "quit", &resume, + N_("abort the patching operation but keep HEAD where it is."), + RESUME_QUIT), OPT_CMDMODE(0, "show-current-patch", &resume, N_("show the patch being applied."), RESUME_SHOW_PATCH), @@ -2353,7 +2357,7 @@ int cmd_am(int argc, const char **argv, const char *prefix) * stray directories. */ if (file_exists(state.dir) && !state.rebasing) { - if (resume == RESUME_ABORT) { + if (resume == RESUME_ABORT || resume == RESUME_QUIT) { am_destroy(&state); am_state_release(&state); return 0; @@ -2395,6 +2399,10 @@ int cmd_am(int argc, const char **argv, const char *prefix) case RESUME_ABORT: am_abort(&state); break; + case RESUME_QUIT: + am_rerere_clear(); + am_destroy(&state); + break; case RESUME_SHOW_PATCH: ret = show_patch(&state); break; |