@@ -310,6 +310,8 @@ def setup_parser() -> argparse.ArgumentParser:
help='Additional prefixes to add to those already defined')
sp_prep.add_argument('-C', '--no-cache', dest='nocache', action='store_true', default=False,
help='Do not use local cache when performing remote queries')
+ sp_prep.add_argument('--creation-factor', default=None, type=int,
+ help='Creation factor integer passed to git range-diff')
spp_g = sp_prep.add_mutually_exclusive_group()
spp_g.add_argument('-p', '--format-patch', metavar='OUTPUT_DIR',
@@ -2550,7 +2550,7 @@ def force_revision(forceto: int) -> None:
store_cover(cover, tracking)
-def compare(compareto: str, execvp: bool = True) -> Union[str, None]:
+def compare(compareto: str, execvp: bool = True, creation_factor: int = None) -> Union[str, None]:
cover, tracking = load_cover()
# Try the new format first
tagname, revision = get_sent_tagname(tracking['series']['change-id'], SENT_TAG_PREFIX, compareto)
@@ -2580,6 +2580,8 @@ def compare(compareto: str, execvp: bool = True) -> Union[str, None]:
lines = b4.git_get_command_lines(None, gitargs)
curr_end = lines[0]
grdcmd = ['git', 'range-diff', '%.12s..%.12s' % (prev_start, prev_end), '%.12s..%.12s' % (curr_start, curr_end)]
+ if creation_factor:
+ grdcmd = grdcmd[:2] + [f"--creation-factor={creation_factor}"] + grdcmd[2:]
logger.debug('Running %s', ' '.join(grdcmd))
if execvp:
# We exec range-diff and let it take over
@@ -2792,7 +2794,7 @@ def cmd_prep(cmdargs: argparse.Namespace) -> None:
return format_patch(cmdargs.format_patch)
if cmdargs.compare_to:
- return compare(cmdargs.compare_to)
+ return compare(cmdargs.compare_to, creation_factor=cmdargs.creation_factor)
if cmdargs.enroll_base and cmdargs.new_series_name:
logger.critical('CRITICAL: -n NEW_SERIES_NAME and -e [ENROLL_BASE] can not be used together.')
Like the previous commit ("diff: add a creation factor argument"), make it possible to pass a creation factor when using b4 prep --compare-to. Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> --- src/b4/command.py | 2 ++ src/b4/ez.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-)