sequencer: define array with enum values

The todo_command_info array defines which strings match with which
todo_command enum values. The array is defined in the same order as the
enum values, but if one changed without the other, then we would have
unexpected results.

Make it easier to see changes to the enum and this array by using the
enum values as the indices of the array.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Derrick Stolee 2022-07-19 18:33:37 +00:00 committed by Junio C Hamano
parent f57fd48d56
commit d7ce9a2201

View file

@ -1712,20 +1712,20 @@ static struct {
char c;
const char *str;
} todo_command_info[] = {
{ 'p', "pick" },
{ 0, "revert" },
{ 'e', "edit" },
{ 'r', "reword" },
{ 'f', "fixup" },
{ 's', "squash" },
{ 'x', "exec" },
{ 'b', "break" },
{ 'l', "label" },
{ 't', "reset" },
{ 'm', "merge" },
{ 0, "noop" },
{ 'd', "drop" },
{ 0, NULL }
[TODO_PICK] = { 'p', "pick" },
[TODO_REVERT] = { 0, "revert" },
[TODO_EDIT] = { 'e', "edit" },
[TODO_REWORD] = { 'r', "reword" },
[TODO_FIXUP] = { 'f', "fixup" },
[TODO_SQUASH] = { 's', "squash" },
[TODO_EXEC] = { 'x', "exec" },
[TODO_BREAK] = { 'b', "break" },
[TODO_LABEL] = { 'l', "label" },
[TODO_RESET] = { 't', "reset" },
[TODO_MERGE] = { 'm', "merge" },
[TODO_NOOP] = { 0, "noop" },
[TODO_DROP] = { 'd', "drop" },
[TODO_COMMENT] = { 0, NULL },
};
static const char *command_to_string(const enum todo_command command)