# error: cannot cherry-pick during a revert

2 messages from 2019-08-28 to 2019-08-29. Participants: Mike Hommey, Phillip Wood.
Thread: https://gitlist.dev/t/51769

## Mike Hommey, 2019-08-28 23:25

Subject: error: cannot cherry-pick during a revert
Message-ID: <20190828232515.bvghqlwe3i7sie7n@glandium.org>
URL: https://gitlist.dev/e/20190828232515.bvghqlwe3i7sie7n%40glandium.org

```
Hi,

This just happened to me while cherry-pick'ing:

$ git cherry-pick HEAD@{1}
error: could not apply 614fe5e629b84... try
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
Recorded preimage for 'taskcluster/ci/build/linux.yml'

(... this is where I fix my conflict ...)

$ git add -u
$ git cherry-pick --continue 
error: cannot cherry-pick during a revert.
fatal: cherry-pick failed

So apparently, cherry-pick thinks it was doing a revert when it hit a
conflict?

(This is with git 2.23)

Mike

```

## Phillip Wood, 2019-08-29 15:27

Subject: Re: error: cannot cherry-pick during a revert
Message-ID: <be3f951c-467d-68aa-592a-bdf77646fdbb@gmail.com>
URL: https://gitlist.dev/e/be3f951c-467d-68aa-592a-bdf77646fdbb%40gmail.com
In-Reply-To: <20190828232515.bvghqlwe3i7sie7n@glandium.org>

```
Hi Mike

On 29/08/2019 00:25, Mike Hommey wrote:
> Hi,
> 
> This just happened to me while cherry-pick'ing:
> 
> $ git cherry-pick HEAD@{1}
> error: could not apply 614fe5e629b84... try
> hint: after resolving the conflicts, mark the corrected paths
> hint: with 'git add <paths>' or 'git rm <paths>'
> hint: and commit the result with 'git commit'
> Recorded preimage for 'taskcluster/ci/build/linux.yml'
> 
> (... this is where I fix my conflict ...)
> 
> $ git add -u
> $ git cherry-pick --continue
> error: cannot cherry-pick during a revert.
> fatal: cherry-pick failed

Oh dear that's not good

> So apparently, cherry-pick thinks it was doing a revert when it hit a
> conflict?
> 
> (This is with git 2.23)

I wondered if this was due to some of the recent changes adding --skip 
to cherry-pick and revert but I can't see anything obvious at the 
moment. To get that error the sequencer has loaded a todo file (in 
read_populate_todo()) which starts with a revert command. Is it possible 
you were reverting a sequence of commits before you ran the cherry-pick? 
(a single pick or revert does not create a todo list). It could be that 
there was an old todo list left over from a while ago - historically the 
sequencer hasn't been all that good at cleaning up after itself if the 
user committed the final pick or revert with 'git commit' and forgot to 
run 'cherry-pick/revert --continue' afterwards.

Best Wishes

Phillip

> Mike
> 

```
