# HG changeset patch # User Pierre-Yves David # Date 1618482785 -7200 # Node ID 9c4d30b079e091c21ba4ad99a522c1c86eb2a929 # Parent df2bf38ac382d173ce06e98d7ce6afb45ac9779b template: add a `paths` field to all entry in peerurls This make it possible to display multiple path per name in the near future. Differential Revision: https://phab.mercurial-scm.org/D10444 diff -r df2bf38ac382 -r 9c4d30b079e0 mercurial/templatekw.py --- a/mercurial/templatekw.py Tue May 11 18:10:59 2021 +0200 +++ b/mercurial/templatekw.py Thu Apr 15 12:33:05 2021 +0200 @@ -669,7 +669,12 @@ def makemap(k): p = paths[k] d = {b'name': k, b'url': p.rawloc} - d.update((o, v) for o, v in sorted(pycompat.iteritems(p.suboptions))) + sub_opts = util.sortdict(sorted(pycompat.iteritems(p.suboptions))) + d.update(sub_opts) + path_dict = util.sortdict() + path_dict[b'url'] = p.rawloc + path_dict.update(sub_opts) + d[b'urls'] = [path_dict] return d def format_one(k): diff -r df2bf38ac382 -r 9c4d30b079e0 tests/test-paths.t --- a/tests/test-paths.t Tue May 11 18:10:59 2021 +0200 +++ b/tests/test-paths.t Thu Apr 15 12:33:05 2021 +0200 @@ -98,6 +98,9 @@ expand: $TESTTMP/a/$SOMETHING/bar $ hg log -rnull -T '{get(peerurls, "dupe")}\n' $TESTTMP/b#tip + $ hg log -rnull -T '{peerurls % "{urls|json}\n"}' + [{"pushurl": "https://example.com/dupe", "url": "$TESTTMP/b#tip"}] + [{"url": "$TESTTMP/a/$SOMETHING/bar"}] (sub options can be populated by map/dot operation)