This parameter is only possible to set from command-line, it has no
global option associated to it within Git's config, so add a
--creation-factor parameter to b4 to achieve the same behavior.
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
src/b4/command.py | 2 ++
src/b4/diff.py | 7 ++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
@@ -287,6 +287,8 @@ def setup_parser() -> argparse.ArgumentParser:
help='Force color output even when writing to file')
sp_diff.add_argument('-m', '--compare-am-mboxes', dest='ambox', nargs=2, default=None,
help='Compare two mbx files prepared with "b4 am"')
+ sp_diff.add_argument('--creation-factor', default=None, type=int,
+ help='Creation factor integer passed to git range-diff')
sp_diff.set_defaults(func=cmd_diff)
# b4 kr
@@ -156,7 +156,10 @@ def main(cmdargs: argparse.Namespace) -> None:
logger.critical('---')
logger.critical('Could not create fake-am range for upper series v%s', user.revision)
sys.exit(1)
- grdcmd = 'git range-diff %.12s..%.12s %.12s..%.12s' % (lsc, lec, usc, uec)
+ cf_str = ""
+ if cmdargs.creation_factor:
+ cf_str = f"--creation-factor={cmdargs.creation_factor} "
+ grdcmd = 'git range-diff %s%.12s..%.12s %.12s..%.12s' % (cf_str, lsc, lec, usc, uec)
if cmdargs.nodiff:
logger.info('Success, to compare v%s and v%s:', lser.revision, user.revision)
logger.info(f' {grdcmd}')
@@ -167,6 +170,8 @@ def main(cmdargs: argparse.Namespace) -> None:
gitargs = ['range-diff', f'{lsc}..{lec}', f'{usc}..{uec}']
if cmdargs.outdiff is None or cmdargs.color:
gitargs.append('--color')
+ if cmdargs.creation_factor:
+ gitargs.append(cf_str.strip())
ecode, rdiff = b4.git_run_command(cmdargs.gitdir, gitargs)
if ecode > 0:
logger.critical('Unable to generate diff')