Re: [PATCH v3] builtin/revert.c: refactor using an enum for cmd-action
From: Junio C Hamano <hidden>
Date: 2024-01-11 21:47:55
Michael Lohmann [off-list ref] writes:
This is done to avoid having to keep the char values in sync in different places and also to get compiler warnings on non-exhaustive switches. In the rebase `action` enum there is the enumeration constant `ACTION_NONE` which is not particularly descriptive, since it seems to imply that no action should be taken. Instead it signals a start of a revert/cherry-pick process, so here `ACTION_START` was chosen. Co-authored-by: Wanja Henze [off-list ref] Signed-off-by: Michael Lohmann <redacted> --- On 11. Jan 2024, at 20:37, Junio C Hamano [off-list ref] wrote:quoted
Phillip Wood [off-list ref] writes:quoted
I think ACTION_NONE was intended to covey that the user did not pass one of the OPT_CMDMODE() options like "--continue" as there isn't a "--start" option. I don't have a strong opinion between "_NONE" and "_START".I agree with you why NONE is called as such. If "revert" does not take "--start" (I do not remember offhand), I would think it would be better to follow suit.My point was that yes, it might be in sync with what the user passes in as arguments, but when I followed the code and saw lots of references to ACTION_NONE I was puzzled, since my intuition of that name was that _no action_ should be taken (which did not make sense to me).
I know you wrote that ;-). But _NONE is "no action was specified", and has been so for a long time in the context of "rebase". I do not see any confusion expressed there. I do not expect to see any confusion here, either, if we were to introduce these new enum.