Mercurial > hg
changeset 43051:da3329fe01e3
templatefuncs: account for user's diffopts in diff() (BC)
author | Denis Laxalde <denis@laxalde.org> |
---|---|
date | Sat, 05 Oct 2019 12:03:19 +0200 |
parents | a614f26d4897 |
children | 3b8a4587a456 |
files | mercurial/templatefuncs.py tests/test-template-functions.t |
diffstat | 2 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templatefuncs.py Sat Oct 05 09:57:00 2019 -0400 +++ b/mercurial/templatefuncs.py Sat Oct 05 12:03:19 2019 +0200 @@ -16,6 +16,7 @@ ) from . import ( color, + diffutil, encoding, error, minirst, @@ -86,7 +87,8 @@ for k, v in args['kwargs'].iteritems()) return templateutil.hybriddict(data) -@templatefunc('diff([includepattern [, excludepattern]])', requires={'ctx'}) +@templatefunc('diff([includepattern [, excludepattern]])', + requires={'ctx', 'ui'}) def diff(context, mapping, args): """Show a diff, optionally specifying files to include or exclude.""" @@ -102,7 +104,10 @@ return [] ctx = context.resource(mapping, 'ctx') - chunks = ctx.diff(match=ctx.match([], getpatterns(0), getpatterns(1))) + ui = context.resource(mapping, 'ui') + diffopts = diffutil.diffallopts(ui) + chunks = ctx.diff(match=ctx.match([], getpatterns(0), getpatterns(1)), + opts=diffopts) return ''.join(chunks)
--- a/tests/test-template-functions.t Sat Oct 05 09:57:00 2019 -0400 +++ b/tests/test-template-functions.t Sat Oct 05 12:03:19 2019 +0200 @@ -370,6 +370,17 @@ @@ -0,0 +1,1 @@ +second + $ hg --config diff.git=true log -r 8 -T "{diff()}" + diff --git a/second b/fourth + rename from second + rename to fourth + diff --git a/third b/third + new file mode 100644 + --- /dev/null + +++ b/third + @@ -0,0 +1,1 @@ + +third + $ cd .. latesttag() function: