diff options
author | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2021-05-20 15:58:27 -0400 |
---|---|---|
committer | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2021-05-20 15:58:27 -0400 |
commit | 8ca2d7f96a4179015b4f4c30d7b906c1b23abf24 (patch) | |
tree | 8887a425c95274d3b75f783b30f77dff5ff1443a | |
parent | 5e1f198ef2275ca0bd2db0f264ed75ae8561b73d (diff) | |
download | b4-8ca2d7f96a4179015b4f4c30d7b906c1b23abf24.tar.gz |
Cherrypick from the correct series revision
When cherrypicking by msgid and with multiple revisions available, make
sure that we pick the series revision that actually contains the msgid
being cherrypicked.
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rw-r--r-- | b4/mbox.py | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -47,6 +47,17 @@ def make_am(msgs, cmdargs, msgid): reroll = True if cmdargs.nopartialreroll: reroll = False + if cmdargs.cherrypick == '_' and not wantver and len(lmbx.series) > 1: + # Make sure we pick the revision containing the msgid + wantver = None + for cnum, clser in lmbx.series.items(): + for lmsg in clser.patches: + if lmsg and lmsg.msgid == msgid: + wantver = cnum + break + if wantver: + break + lser = lmbx.get_series(revision=wantver, sloppytrailers=cmdargs.sloppytrailers, reroll=reroll) if lser is None and wantver is None: logger.critical('No patches found.') |