sequencer (rebase -i): differentiate between comments and 'noop'
In the upcoming patch, we will support rebase -i's progress reporting. The progress skips comments but counts 'noop's. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b3fdd581ae
commit
ac191470c7
15
sequencer.c
15
sequencer.c
@ -737,7 +737,9 @@ enum todo_command {
|
||||
TODO_EXEC,
|
||||
/* commands that do nothing but are counted for reporting progress */
|
||||
TODO_NOOP,
|
||||
TODO_DROP
|
||||
TODO_DROP,
|
||||
/* comments (not counted for reporting progress) */
|
||||
TODO_COMMENT
|
||||
};
|
||||
|
||||
static struct {
|
||||
@ -752,12 +754,13 @@ static struct {
|
||||
{ 's', "squash" },
|
||||
{ 'x', "exec" },
|
||||
{ 0, "noop" },
|
||||
{ 'd', "drop" }
|
||||
{ 'd', "drop" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
static const char *command_to_string(const enum todo_command command)
|
||||
{
|
||||
if ((size_t)command < ARRAY_SIZE(todo_command_info))
|
||||
if (command < TODO_COMMENT)
|
||||
return todo_command_info[command].str;
|
||||
die("Unknown command: %d", command);
|
||||
}
|
||||
@ -1198,14 +1201,14 @@ static int parse_insn_line(struct todo_item *item, const char *bol, char *eol)
|
||||
bol += strspn(bol, " \t");
|
||||
|
||||
if (bol == eol || *bol == '\r' || *bol == comment_line_char) {
|
||||
item->command = TODO_NOOP;
|
||||
item->command = TODO_COMMENT;
|
||||
item->commit = NULL;
|
||||
item->arg = bol;
|
||||
item->arg_len = eol - bol;
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(todo_command_info); i++)
|
||||
for (i = 0; i < TODO_COMMENT; i++)
|
||||
if (skip_prefix(bol, todo_command_info[i].str, &bol)) {
|
||||
item->command = i;
|
||||
break;
|
||||
@ -1214,7 +1217,7 @@ static int parse_insn_line(struct todo_item *item, const char *bol, char *eol)
|
||||
item->command = i;
|
||||
break;
|
||||
}
|
||||
if (i >= ARRAY_SIZE(todo_command_info))
|
||||
if (i >= TODO_COMMENT)
|
||||
return -1;
|
||||
|
||||
if (item->command == TODO_NOOP) {
|
||||
|
Loading…
Reference in New Issue
Block a user