git/rebase-interactive.h
Alban Gruin 6ca89c6f39 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>
2019-01-29 12:09:24 -08:00

14 lines
347 B
C

#ifndef REBASE_INTERACTIVE_H
#define REBASE_INTERACTIVE_H
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