Patchwork D10444: template: add a `paths` field to all entry in peersurl

login
register
mail settings
Submitter phabricator
Date April 16, 2021, 12:03 a.m.
Message ID <differential-rev-PHID-DREV-tcxziogvkxrh4ckf33ww-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/48762/
State New
Headers show

Comments

phabricator - April 16, 2021, 12:03 a.m.
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  This make it possible to display multiple path per name in the near future.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D10444

AFFECTED FILES
  mercurial/templatekw.py
  tests/test-paths.t

CHANGE DETAILS




To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/tests/test-paths.t b/tests/test-paths.t
--- a/tests/test-paths.t
+++ b/tests/test-paths.t
@@ -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)
 
diff --git a/mercurial/templatekw.py b/mercurial/templatekw.py
--- a/mercurial/templatekw.py
+++ b/mercurial/templatekw.py
@@ -670,7 +670,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):