From: Junio C Hamano Date: Thu, 11 Jan 2024 21:47:48 GMT Subject: Re: [PATCH v3] builtin/revert.c: refactor using an enum for cmd-action Message-ID: In-Reply-To: <20240111200627.64199-1-mi.al.lohmann@gmail.com> Michael Lohmann 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 > Signed-off-by: Michael Lohmann > --- > > On 11. Jan 2024, at 20:37, Junio C Hamano wrote: >> Phillip Wood writes: >> > 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.