sequencer: refactor check_todo_list() to work on a todo_list
This refactors check_todo_list() to work on a todo_list to avoid redundant reads and writes to the disk. The function is renamed todo_list_check(). The parsing of the two todo lists is left to the caller. As rebase -p still need to check the todo list from the disk, a new function is introduced, check_todo_list_from_file(). It reads the file from the disk, parses it, pass the todo_list to todo_list_check(), and writes it back to the disk. As get_missing_commit_check_level() and the enum missing_commit_check_level are no longer needed inside of sequencer.c, they are moved to rebase-interactive.c, and made static again. Signed-off-by: Alban Gruin <alban.gruin@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
616d7740cf
commit
6ca89c6f39
@@ -3,9 +3,11 @@
|
||||
|
||||
struct strbuf;
|
||||
struct repository;
|
||||
struct todo_list;
|
||||
|
||||
void append_todo_help(unsigned edit_todo, unsigned keep_empty,
|
||||
struct strbuf *buf);
|
||||
int edit_todo_list(struct repository *r, unsigned flags);
|
||||
int todo_list_check(struct todo_list *old_todo, struct todo_list *new_todo);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user