python/cherry-picker

Remember PR remote name for `cherry_picker --continue`

ncoghlan opened this issue · 4 comments

The option to set the PR remote does work with cherry_picker --continue, but currently needs to be specified explicitly, rather than being remembered from the original CLI invocation.

What --continue does right now is do git commit in the current branch (as long as it's not a master branch) then push to origin.
If we want to remember the previously specified pr-remote then it has to be stored in a temp file or something? 🤔

Aye, something along those lines. Such a file could potentially also be used to keep track of whether or not the commit step had already been completed, as before I finally realised that --pr-remote needed to be passed together with --continue, I accidentally created 3 copies of the cherry-pick commit.

One possible option: we could add .tmp-backport/ to CPython's .gitignore file, and then use that as a working directory for temporary state in cherry_picker.py.

FTR: Now with the work done in #295/#277 it should possible to implements storing more state-related data in git config --local (i.e. .git/config) throughout the whole backport cycle.

To note, the fact that this wasn't stored along with the other state was also incredibly confusing for me when attempting to reproduce #78