[PATCH 1 of 3] templatekw: reference predecessor node id as {node} in map operation
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Mon Jun 19 19:37:26 EDT 2017
On 06/19/2017 11:24 PM, Martin von Zweigbergk via Mercurial-devel wrote:
> On Fri, Jun 16, 2017 at 10:02 PM, Yuya Nishihara <yuya at tcha.org> wrote:
>> # HG changeset patch
>> # User Yuya Nishihara <yuya at tcha.org>
>> # Date 1497673083 -32400
>> # Sat Jun 17 13:18:03 2017 +0900
>> # Node ID 89557eb72b36450b6833ee04673a131b063c77d5
>> # Parent 9d472b219fb07e011c7a6255c5be47e6fc66229c
>> templatekw: reference predecessor node id as {node} in map operation
>
> Queued this series, thanks.
>
>>
>> More predecessor-depending values will be populated by the next patch.
>>
>> diff --git a/mercurial/templatekw.py b/mercurial/templatekw.py
>> --- a/mercurial/templatekw.py
>> +++ b/mercurial/templatekw.py
>> @@ -568,8 +568,8 @@ def showpredecessors(repo, ctx, **args):
>> predecessors = sorted(obsutil.closestpredecessors(repo, ctx.node()))
>> predecessors = map(hex, predecessors)
>>
>> - return _hybrid(None, predecessors, lambda x: {'predecessor': x},
>> - lambda d: d['predecessor'][:12])
>> + return _hybrid(None, predecessors, lambda x: {'node': x},
>> + lambda d: d['node'][:12])
>>
>> @templatekeyword('p1rev')
>> def showp1rev(repo, ctx, templ, **args):
>> diff --git a/tests/test-obsmarker-template.t b/tests/test-obsmarker-template.t
>> --- a/tests/test-obsmarker-template.t
>> +++ b/tests/test-obsmarker-template.t
>> @@ -15,7 +15,8 @@ Global setup
>> > tlog = log -G -T '{node|short}\
>> > {if(predecessors, "\n Predecessors: {predecessors}")}\
>> > {if(predecessors, "\n semi-colon: {join(predecessors, "; ")}")}\
>
> You know the templater much better than I do, but do the above still
> add any value to the test after we have the newly added?
I think so, from what I understand:
The above test the default representation and the default representation
of the subitem.
The one below test mapping withing the subitem (instead of the default
output of the subitem)
>> - > {if(predecessors, "\n json: {predecessors|json}")}\n'
>> + > {if(predecessors, "\n json: {predecessors|json}")}\
>> + > {if(predecessors, "\n map: {join(predecessors % "{node}", " ")}")}\n'
>> > EOF
>>
>> Test templates on amended commit
>> @@ -72,6 +73,7 @@ Predecessors template should show curren
>> | Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ 471f378eab4c
>> |/
>> o ea207398892e
>> @@ -85,6 +87,7 @@ Predecessors template should show curren
>> | Predecessors: a468dc9b3633
>> | semi-colon: a468dc9b3633
>> | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
>> + | map: a468dc9b36338b14fdb7825f55ce3df4e71517ad
>> | @ a468dc9b3633
>> |/
>> o ea207398892e
>> @@ -96,10 +99,12 @@ with --hidden
>> | Predecessors: a468dc9b3633
>> | semi-colon: a468dc9b3633
>> | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
>> + | map: a468dc9b36338b14fdb7825f55ce3df4e71517ad
>> | @ a468dc9b3633
>> |/ Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | x f137d23bb3e1
>> | |
>> | x 471f378eab4c
>> @@ -121,10 +126,12 @@ visible.
>> | Predecessors: a468dc9b3633
>> | semi-colon: a468dc9b3633
>> | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
>> + | map: a468dc9b36338b14fdb7825f55ce3df4e71517ad
>> | x a468dc9b3633
>> |/ Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | x f137d23bb3e1
>> | |
>> | x 471f378eab4c
>> @@ -202,10 +209,12 @@ Predecessors template should show curren
>> | Predecessors: 471597cad322
>> | semi-colon: 471597cad322
>> | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
>> + | map: 471597cad322d1f659bb169751be9133dad92ef3
>> o 337fec4d2edc
>> | Predecessors: 471597cad322
>> | semi-colon: 471597cad322
>> | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
>> + | map: 471597cad322d1f659bb169751be9133dad92ef3
>> | @ 471597cad322
>> |/
>> o ea207398892e
>> @@ -229,10 +238,12 @@ with --hidden
>> | Predecessors: 471597cad322
>> | semi-colon: 471597cad322
>> | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
>> + | map: 471597cad322d1f659bb169751be9133dad92ef3
>> o 337fec4d2edc
>> | Predecessors: 471597cad322
>> | semi-colon: 471597cad322
>> | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
>> + | map: 471597cad322d1f659bb169751be9133dad92ef3
>> | x 471597cad322
>> |/
>> o ea207398892e
>> @@ -312,6 +323,7 @@ Predecessors template should show curren
>> | Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ 471f378eab4c
>> |/
>> o ea207398892e
>> @@ -326,6 +338,7 @@ displayed
>> | Predecessors: 0dec01379d3b 471f378eab4c
>> | semi-colon: 0dec01379d3b; 471f378eab4c
>> | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 0dec01379d3be6318c470ead31b1fe7ae7cb53d5 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ 0dec01379d3b
>> | |
>> | x 471f378eab4c
>> @@ -349,6 +362,7 @@ with --hidden
>> | Predecessors: 0dec01379d3b 471f378eab4c
>> | semi-colon: 0dec01379d3b; 471f378eab4c
>> | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 0dec01379d3be6318c470ead31b1fe7ae7cb53d5 471f378eab4c5e25f6c77f785b27c936efb22874
>> | x 0dec01379d3b
>> | |
>> | x 471f378eab4c
>> @@ -460,10 +474,12 @@ Predecessors template should show curren
>> | Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | o fdf9bde5129a
>> |/ Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ 471f378eab4c
>> |/
>> o ea207398892e
>> @@ -487,14 +503,17 @@ Predecessors template should the predece
>> | Predecessors: 65b757b745b9
>> | semi-colon: 65b757b745b9
>> | json: ["65b757b745b935093c87a2bccd877521cccffcbd"]
>> + | map: 65b757b745b935093c87a2bccd877521cccffcbd
>> | x 65b757b745b9
>> |/ Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ fdf9bde5129a
>> |/ Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | x 471f378eab4c
>> |/
>> o ea207398892e
>> @@ -588,6 +607,7 @@ Predecessors template should show curren
>> | Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ 471f378eab4c
>> |/
>> o ea207398892e
>> @@ -601,6 +621,7 @@ Predecessors template should both predec
>> | Predecessors: 0dec01379d3b 471f378eab4c
>> | semi-colon: 0dec01379d3b; 471f378eab4c
>> | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 0dec01379d3be6318c470ead31b1fe7ae7cb53d5 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ 0dec01379d3b
>> | |
>> | x 471f378eab4c
>> @@ -616,6 +637,7 @@ Predecessors template should both predec
>> | Predecessors: 471f378eab4c b7ea6d14e664
>> | semi-colon: 471f378eab4c; b7ea6d14e664
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874 b7ea6d14e664bdc8922221f7992631b50da3fb07
>> | @ b7ea6d14e664
>> | |
>> | x 471f378eab4c
>> @@ -638,10 +660,12 @@ with --hidden
>> | Predecessors: 471f378eab4c b7ea6d14e664
>> | semi-colon: 471f378eab4c; b7ea6d14e664
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874 b7ea6d14e664bdc8922221f7992631b50da3fb07
>> | x b7ea6d14e664
>> | | Predecessors: 0dec01379d3b
>> | | semi-colon: 0dec01379d3b
>> | | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
>> + | | map: 0dec01379d3be6318c470ead31b1fe7ae7cb53d5
>> | | x 0dec01379d3b
>> | |/
>> | x 471f378eab4c
>> @@ -744,6 +768,7 @@ Predecessors template should show curren
>> | Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ 471f378eab4c
>> |/
>> o ea207398892e
>> @@ -764,6 +789,7 @@ with --hidden
>> | Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | x 471f378eab4c
>> |/
>> o ea207398892e
>> @@ -807,14 +833,17 @@ Check templates
>> | Predecessors: 0dec01379d3b
>> | semi-colon: 0dec01379d3b
>> | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
>> + | map: 0dec01379d3be6318c470ead31b1fe7ae7cb53d5
>> | @ 0dec01379d3b
>> | | Predecessors: 471f378eab4c
>> | | semi-colon: 471f378eab4c
>> | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | x 471f378eab4c
>> |/ Predecessors: 0dec01379d3b
>> | semi-colon: 0dec01379d3b
>> | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
>> + | map: 0dec01379d3be6318c470ead31b1fe7ae7cb53d5
>> o ea207398892e
>>
>>
>> @@ -825,6 +854,7 @@ Check templates
>> | Predecessors: 471f378eab4c
>> | semi-colon: 471f378eab4c
>> | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | @ 471f378eab4c
>> |/
>> o ea207398892e
>> @@ -843,13 +873,16 @@ Check templates
>> | Predecessors: 0dec01379d3b
>> | semi-colon: 0dec01379d3b
>> | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
>> + | map: 0dec01379d3be6318c470ead31b1fe7ae7cb53d5
>> | x 0dec01379d3b
>> | | Predecessors: 471f378eab4c
>> | | semi-colon: 471f378eab4c
>> | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
>> + | | map: 471f378eab4c5e25f6c77f785b27c936efb22874
>> | x 471f378eab4c
>> |/ Predecessors: 0dec01379d3b
>> | semi-colon: 0dec01379d3b
>> | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
>> + | map: 0dec01379d3be6318c470ead31b1fe7ae7cb53d5
>> @ ea207398892e
>>
>> _______________________________________________
>> Mercurial-devel mailing list
>> Mercurial-devel at mercurial-scm.org
>> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
>
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list