From: Conor Dooley <conor@kernel.org>
To: palmer@dabbelt.com, konstantin@linuxfoundation.org
Cc: conor@kernel.org, Palmer Dabbelt <palmer@rivosinc.com>,
tools@linux.kernel.org, Conor Dooley <conor.dooley@microchip.com>
Subject: [PATCH v2] shazam: Add the --merge-base argument
Date: Wed, 1 Feb 2023 17:33:02 +0000 [thread overview]
Message-ID: <20230201173301.54604-1-conor@kernel.org> (raw)
From: Palmer Dabbelt <palmer@rivosinc.com>
I was just handling a patch set where the author used English to
describe the dependencies. They hadn't yet been merged at the time the
patch set was posted so I don't think there's really any way to make
sure the computers always understand the base, this just lets me quickly
override the automatic merge base detection when I run into something
non-canonical.
Link: https://lore.kernel.org/all/20220913061817.22564-1-zong.li@sifive.com/
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Co-developed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
---
Been running this fixed up version for a bit now with no issues. Dunno
if the last submission didn't end up in an inbox for some reason, but
figured I'd resend with my fixes.
The changelog is the diff I attached in my response to the v1:
https://lore.kernel.org/tools/Y8199aCGNIW37YGx@spud/T/#m9fbe4c02429ec0601e5ff93fbe1aaecb368f736c
---
b4/command.py | 2 ++
b4/mbox.py | 17 +++++++++++------
man/b4.5.rst | 2 ++
3 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/b4/command.py b/b4/command.py
index 304450f..3d769ad 100644
--- a/b4/command.py
+++ b/b4/command.py
@@ -175,6 +175,8 @@ def setup_parser() -> argparse.ArgumentParser:
sp_sh.add_argument('--guess-lookback', dest='guessdays', type=int, default=21,
help=('(use with -H or -M) When guessing base, go back this many days from the patch date '
'(default: 3 weeks)'))
+ sp_sh.add_argument('--merge-base', dest='mergebase', type=str, default=None,
+ help=('(use with -H or -M) Force this base when merging'))
sp_sh.set_defaults(func=cmd_shazam)
# b4 pr
diff --git a/b4/mbox.py b/b4/mbox.py
index e0c6a0a..0b0fc40 100644
--- a/b4/mbox.py
+++ b/b4/mbox.py
@@ -211,14 +211,17 @@ def make_am(msgs: List[email.message.Message], cmdargs: argparse.Namespace, msgi
logger.critical(' Link: %s', linkurl)
base_commit = None
- matches = re.search(r'base-commit: .*?([\da-f]+)', first_body, re.MULTILINE)
- if matches:
- base_commit = matches.groups()[0]
+ if cmdargs.mergebase:
+ base_commit = cmdargs.mergebase
else:
- # Try a more relaxed search
- matches = re.search(r'based on .*?([\da-f]{40})', first_body, re.MULTILINE)
+ matches = re.search(r'base-commit: .*?([\da-f]+)', first_body, re.MULTILINE)
if matches:
base_commit = matches.groups()[0]
+ else:
+ # Try a more relaxed search
+ matches = re.search(r'based on .*?([\da-f]{40})', first_body, re.MULTILINE)
+ if matches:
+ base_commit = matches.groups()[0]
if base_commit and topdir:
# Does it actually exist in this tree?
@@ -670,8 +673,8 @@ def refetch(dest: str) -> None:
def main(cmdargs: argparse.Namespace) -> None:
+ # We force some settings
if cmdargs.subcmd == 'shazam':
- # We force some settings
cmdargs.checknewer = True
cmdargs.threeway = False
cmdargs.nopartialreroll = False
@@ -683,6 +686,8 @@ def main(cmdargs: argparse.Namespace) -> None:
cmdargs.guessbase = True
else:
cmdargs.guessbase = False
+ else:
+ cmdargs.mergebase = False
if cmdargs.checknewer:
# Force nocache mode
diff --git a/man/b4.5.rst b/man/b4.5.rst
index dc00ef2..31beae4 100644
--- a/man/b4.5.rst
+++ b/man/b4.5.rst
@@ -230,6 +230,8 @@ options:
Attempt to merge series as if it were a pull request (execs git-merge)
--guess-lookback GUESSDAYS
(use with -H or -M) When guessing base, go back this many days from the patch date (default: 3 weeks)
+ --merge-base COMMIT
+ (use with -H or -M) Force this base when merging
*Example*: b4 shazam -H 20200313231252.64999-1-keescook@chromium.org
--
2.39.1
next reply other threads:[~2023-02-01 17:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-01 17:33 Conor Dooley [this message]
2023-02-01 20:24 ` [PATCH v2] shazam: Add the --merge-base argument Konstantin Ryabitsev
2023-02-02 18:16 ` Conor Dooley
2023-02-03 2:58 ` Palmer Dabbelt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230201173301.54604-1-conor@kernel.org \
--to=conor@kernel.org \
--cc=conor.dooley@microchip.com \
--cc=konstantin@linuxfoundation.org \
--cc=palmer@dabbelt.com \
--cc=palmer@rivosinc.com \
--cc=tools@linux.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.