Re: [PATCH v2 1/2] commit/reset: try to clean up sequencer state
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Apr 17, 2019, 15:04 UTC
- Message-ID
- <f1371b89-8f8b-d0b9-7bda-23f8cb5d0541@gmail.com>
- In-Reply-To
- <nycvar.QRO.7.76.6.1904171423370.46@tvgsbejvaqbjf.bet>
Hi Dscho
On 17/04/2019 13:26, Johannes Schindelin wrote:
Show 22 quoted lines
> Hi, > > On Wed, 17 Apr 2019, Junio C Hamano wrote: > >> Phillip Wood <phillip.wood123@gmail.com> writes: >> >>> Avoid this potential problem by removing the sequencer state if we're >>> committing or resetting the final pick in a sequence. >> >> The use-case story before this conclusion only mentioned "commit" >> that concluded the multi-step cherry-pick/revert, and never talked >> about "reset", which made my eyebrows to rise. >> >> As a part of "reset", we have already been removing CHERRY_PICK_HEAD >> and REVERT_HEAD, so "git reset" during a conflicted "cherry-pick" >> for example is already destructive and the user can no longer get >> back to continuing the cherry-pick anyway after running it, even >> without this patch. So from that point of view, it does make sense >> to remove the other sequencer states at the same time. > > Do you mean to say that a `git reset` during `git cherry-pick <range>` > aborts it?
No I mean it removes CHERRY_PICK_HEAD/REVERT_HEAD and so cancels the conflicting pick/revert, it does not abort the operation as a whole. If the conflicting pick/revert was the last in a range then we want it to remove .git/sequencer as well as the ..._HEAD file as it is easy to forget to run --continue in that case.
Best Wishes
Phillip
Show 11 quoted lines
> In my experience, this is not the case. The advice printed out after a > conflict even recommends to run `git reset` (followed by `git cherry-pick > --continue`, in lieu of the `git cherry-pick --skip` we have yet to > implement). > > So I don't think it is correct to say that `git reset` does not let the > user get back to continuing a cherry-pick... > > Ciao, > Dscho >