Re: [PATCH] am: support --quit
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 14, 2018, 19:26 UTC
- Message-ID
- <xmqqy3jvmkyn.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180214111606.4257-1-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
> Among the "in progress" commands, only git-am and git-merge do not > support --quit. Support --quit in git-am too.
That's a strange way to phrase it, when the number of commands that know and do not know it are about the same.
Show 6 quoted lines
> --abort:: > Restore the original branch and abort the patching operation. > > +--quit:: > + Abort the patching operation but keep HEAD and the index > + untouched.
OK, I see from the documentation of rebase that the above pair is consistent with how --abort/--quit are done over there.
Show 8 quoted lines
> @@ -2359,6 +2363,10 @@ int cmd_am(int argc, const char **argv, const char *prefix) > case RESUME_ABORT: > am_abort(&state); > break; > + case RESUME_QUIT: > + am_rerere_clear(); > + am_destroy(&state); > + break;
The internal implementation detail of am_abort() is leaking out here, by saying "rerere-clear" is the only special thing other than recovering the HEAD and working tree state when abort happens. It makes readers wonder if am_rerere_clear() should become part of am_destroy(). I dunno.