Repository navigation
Constant failures: "Command '['git', 'log', '--format=%H', '3.12..']' returned non-zero exit status 128" #124
Copy link
Copy link
Closed
Description
This is happening for me everytime I do manual backports:
(.venv) ~/Desktop/cpython2 main ✔
» cherry_picker a1c4923d65a3e4cea917745e7f6bc2e377cde5c5 3.12
🐍 🍒 ⛏
Now backporting 'a1c4923d65a3e4cea917745e7f6bc2e377cde5c5' into '3.12'
Error cherry-pick a1c4923d65a3e4cea917745e7f6bc2e377cde5c5.
Auto-merging Lib/test/test_cmd_line.py
CONFLICT (content): Merge conflict in Lib/test/test_cmd_line.py
error: could not apply a1c4923d65a... gh-116858: Add `@cpython_only` to several tests in `test_cmd_line` (#116859)
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".
Recorded preimage for 'Lib/test/test_cmd_line.py'
Failed to cherry-pick a1c4923d65a3e4cea917745e7f6bc2e377cde5c5 into 3.12 ☹
... Stopping here.
To continue and resolve the conflict:
$ cherry_picker --status # to find out which files need attention
# Fix the conflict
$ cherry_picker --status # should now say 'all conflict fixed'
$ cherry_picker --continue
To abort the cherry-pick and cleanup:
$ cherry_picker --abort
(.venv) ~/Desktop/cpython2 backport-a1c4923-3.12 ✗ § 255 ⚠️
» git add --all
(.venv) ~/Desktop/cpython2 backport-a1c4923-3.12 ✗ ✚
» cherry_picker --continue --pr-remote=fork
🐍 🍒 ⛏
Traceback (most recent call last):
File "/Users/sobolev/Desktop/cpython2/.venv/bin/cherry_picker", line 8, in <module>
sys.exit(cherry_pick_cli())
^^^^^^^^^^^^^^^^^
File "/Users/sobolev/Desktop/cpython2/.venv/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sobolev/Desktop/cpython2/.venv/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/Users/sobolev/Desktop/cpython2/.venv/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sobolev/Desktop/cpython2/.venv/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sobolev/Desktop/cpython2/.venv/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sobolev/Desktop/cpython2/.venv/lib/python3.11/site-packages/cherry_picker/cherry_picker.py", line 802, in cherry_pick_cli
cherry_picker.continue_cherry_pick()
File "/Users/sobolev/Desktop/cpython2/.venv/lib/python3.11/site-packages/cherry_picker/cherry_picker.py", line 591, in continue_cherry_pick
commits = get_commits_from_backport_branch(base)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sobolev/Desktop/cpython2/.venv/lib/python3.11/site-packages/cherry_picker/cherry_picker.py", line 902, in get_commits_from_backport_branch
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sobolev/.pyenv/versions/3.11.5/lib/python3.11/subprocess.py", line 466, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sobolev/.pyenv/versions/3.11.5/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'log', '--format=%H', '3.12..']' returned non-zero exit status 128.fork is my own fork: https://github.com/sobolevn/cpython/ which I use to send PRs to the main repo.
Things I've tried:
- Cleaning
.git/configfile - Reinstalling
cherry-picker - Using different Python version
I mostly use 3.11.5 as my venv tooling.
Looking through existing issues - no matches :(
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
aloisklink commentedon Jun 2, 2024
It sounds similar to #99 (comment)
Does
git log --format=%H 3.12..work?It might be that the
3.12branch doesn't exist in your local repo. You might have to rungit switch 3.12to create it first.skirpichev commentedon Aug 3, 2024
Yeah, just happened with me (again). I think it's a bug: tool should automate this.
And beware #99 :D
ncoghlan commentedon Oct 7, 2024
I just ran into the same issue, and tested @aloisklink's theory regarding the origin of the problem. Creating the local branch makes the failure go away.
So yes, it would be nice if
cherry_pickerdid agit switch <target branch>before creating the backport branch.adqm commentedon Aug 14, 2025
First time using
cherry_pickertoday and I ran into this issue. Took me a longer than I would like to admit to realize that it was because I didn't have a3.13branch locally (it was only afterward that I found this issue).So just adding another note that it would be great to have this fixed :)
hugovk commentedon Aug 21, 2025
The fix for this has been released in Cherry Picker 2.6.0: https://github.com/python/cherry-picker/releases/tag/cherry-picker-v2.6.0 🍒🚀