Mercurial > hg
changeset 51144:9ff3d5395d6b
templatekw: fix inconsistency of diffstat with diff.merge
Previously, `-T'{diffstat}'` was giving stats from the diff against p1,
regardless of whether `--config diff.merge=yes` is set.
This was inconsistent with `log --patch` which is aware of that option.
author | pacien <pacien.trangirard@pacien.net> |
---|---|
date | Tue, 14 Nov 2023 22:47:17 +0100 |
parents | d6e5bec550f1 |
children | ddf2b33ee388 |
files | mercurial/templatekw.py tests/test-log.t |
diffstat | 2 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templatekw.py Wed Nov 15 02:39:53 2023 +0100 +++ b/mercurial/templatekw.py Tue Nov 14 22:47:17 2023 +0100 @@ -270,7 +270,7 @@ ui = context.resource(mapping, b'ui') ctx = context.resource(mapping, b'ctx') diffopts = diffutil.diffallopts(ui, {b'noprefix': False}) - diff = ctx.diff(opts=diffopts) + diff = ctx.diff(diffutil.diff_parent(ctx), opts=diffopts) stats = patch.diffstatdata(util.iterlines(diff)) maxname, maxtotal, adds, removes, binary = patch.diffstatsum(stats) return b'%d: +%d/-%d' % (len(stats), adds, removes)
--- a/tests/test-log.t Wed Nov 15 02:39:53 2023 +0100 +++ b/tests/test-log.t Tue Nov 14 22:47:17 2023 +0100 @@ -2001,6 +2001,8 @@ @@ -0,0 +1,1 @@ +b + $ hg log -r 3 -T'{diffstat}\n' + 2: +2/-1 Test that diff.merge is respected (file b was added on one side and and therefore merged cleanly) @@ -2021,6 +2023,9 @@ -b +c + $ hg log -r 3 -T'{diffstat}\n' --config diff.merge=yes + 1: +1/-1 + $ cd .. 'hg log -r rev fn' when last(filelog(fn)) != rev