Why does git's cherry picking with more than one commit fail?

13,362

Try instead:

git cherry-pick 9d325d6d^..3f4c52ba

As I mentioned in "How to cherry pick a range of commits and merge into another branch":

In the "cherry-pick A..B" form, A should be older than B.
If they're the wrong order the command will silently fail.

If you want to pick the range B through D (inclusive) that would be B^..D.

Share:
13,362
Torsten Bronger
Author by

Torsten Bronger

Updated on June 13, 2022

Comments

  • Torsten Bronger
    Torsten Bronger almost 2 years

    I try to merge two repos, yielding a flat (aka interleaved) history. I do this along the lines of https://stackoverflow.com/a/14839653/188108, under "History rewrite:".

    The two branches to merge are in "master" and "src/master". Then, I write:

    $ git checkout --orphan new-master
    $ git cherry-pick 9d325d6d 3f4c52ba
    error: a cherry-pick or revert is already in progress
    hint: try "git cherry-pick (--continue | --quit | --abort)"
    fatal: cherry-pick failed
    $ git cherry-pick 9d325d6d && git cherry-pick 3f4c52ba
    [new-master 10f0277] Initial revision.
     7 files changed, 194 insertions(+)
     create mode 100644 __init__.py
     create mode 100644 manage.py
     create mode 100644 samples/__init__.py
     create mode 100644 samples/models.py
     create mode 100644 samples/views.py
     create mode 100644 settings.py
     create mode 100644 urls.py
    [new-master 08e083c] Fixed field name in SixChambersLayer.  Added Sample.current_place.
     1 file changed, 2 insertions(+), 1 deletion(-)
    

    So, why does the first cherry pick command fail, but the split command works? I use git 1.9.1.