1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-28 15:06:11 +02:00

sequencer: use edit_todo_list() in complete_action()

This changes complete_action() to use edit_todo_list(), now that it can
handle the initial edit of the todo list.

Signed-off-by: Alban Gruin <alban.gruin@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Alban Gruin 2019-03-05 20:18:04 +01:00 committed by Junio C Hamano
parent a930eb03a8
commit 1451d0f616

View File

@ -4746,6 +4746,7 @@ int complete_action(struct repository *r, struct replay_opts *opts, unsigned fla
struct todo_list new_todo = TODO_LIST_INIT;
struct strbuf *buf = &todo_list->buf;
struct object_id oid;
int res;
get_oid(onto, &oid);
shortonto = find_unique_abbrev(&oid, DEFAULT_ABBREV);
@ -4770,24 +4771,16 @@ int complete_action(struct repository *r, struct replay_opts *opts, unsigned fla
return error(_("nothing to do"));
}
if (todo_list_write_to_file(r, todo_list, todo_file,
shortrevisions, shortonto, -1,
flags | TODO_LIST_SHORTEN_IDS | TODO_LIST_APPEND_TODO_HELP))
return error_errno(_("could not write '%s'"), todo_file);
if (copy_file(rebase_path_todo_backup(), todo_file, 0666))
return error(_("could not copy '%s' to '%s'."), todo_file,
rebase_path_todo_backup());
if (launch_sequence_editor(todo_file, &new_todo.buf, NULL)) {
res = edit_todo_list(r, todo_list, &new_todo, shortrevisions,
shortonto, flags);
if (res == -1)
return -1;
else if (res == -2) {
apply_autostash(opts);
sequencer_remove_state(opts);
return -1;
}
strbuf_stripspace(&new_todo.buf, 1);
if (new_todo.buf.len == 0) {
} else if (res == -3) {
apply_autostash(opts);
sequencer_remove_state(opts);
todo_list_release(&new_todo);