[PATCH 4 of 5 V2] templates: add support for search webcommand in json style

Laura Médioni laura.medioni at logilab.fr
Wed Jun 15 10:48:21 EDT 2016


# HG changeset patch
# User Laura Médioni <laura.medioni at logilab.fr>
# Date 1465547502 -7200
#      Fri Jun 10 10:31:42 2016 +0200
# Node ID 33c362973b2ab07b2e20d6818b7e72473e682fd4
# Parent  f4aad36209542e836d91477ce330b2dbb5181443
templates: add support for search webcommand in json style

diff --git a/mercurial/templates/json/map b/mercurial/templates/json/map
--- a/mercurial/templates/json/map
+++ b/mercurial/templates/json/map
@@ -13,11 +13,16 @@ filerevision = '\{
   "lines": [{join(text%lineentry, ", ")}]
   }'
 lineentry = '\{
   "line": {line|json}
   }'
-search = '"not yet implemented"'
+search = '\{
+  "node": {node|json},
+  "query": {query|json},
+  "entries": [{join(entries%searchentry, ", ")}]
+  }'
+searchentry = '{changeset}'
 # changelog and shortlog are the same web API but with different
 # number of entries.
 changelog = changelist.tmpl
 shortlog = changelist.tmpl
 changelistentry = '\{
diff --git a/tests/test-hgweb-json.t b/tests/test-hgweb-json.t
--- a/tests/test-hgweb-json.t
+++ b/tests/test-hgweb-json.t
@@ -1019,10 +1019,80 @@ summary/ shows a summary of repository s
         "tag": "tag1"
       }
     ]
   }
 
+  $ request json-changelog?rev=create
+  200 Script output follows
+  
+  {
+    "entries": [
+      {
+        "bookmarks": [
+          ""
+        ],
+        "branch": "test-branch",
+        "date": [
+          0.0,
+          0
+        ],
+        "desc": "create test branch",
+        "node": "6ab967a8ab3489227a83f80e920faa039a71819f",
+        "parents": [
+          "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e"
+        ],
+        "phase": "draft",
+        "tags": [
+          ""
+        ],
+        "user": "test"
+      },
+      {
+        "bookmarks": [
+          ""
+        ],
+        "branch": "default",
+        "date": [
+          0.0,
+          0
+        ],
+        "desc": "create tag2",
+        "node": "ceed296fe500c3fac9541e31dad860cb49c89e45",
+        "parents": [
+          "f2890a05fea49bfaf9fb27ed5490894eba32da78"
+        ],
+        "phase": "draft",
+        "tags": [
+          ""
+        ],
+        "user": "test"
+      },
+      {
+        "bookmarks": [
+          ""
+        ],
+        "branch": "default",
+        "date": [
+          0.0,
+          0
+        ],
+        "desc": "create tag",
+        "node": "93a8ce14f89156426b7fa981af8042da53f03aa0",
+        "parents": [
+          "78896eb0e102174ce9278438a95e12543e4367a7"
+        ],
+        "phase": "public",
+        "tags": [
+          ""
+        ],
+        "user": "test"
+      }
+    ],
+    "node": "cc725e08502a79dd1eda913760fbe06ed7a9abc7",
+    "query": "create"
+  }
+
 filediff/{revision}/{path} shows changes to a file in a revision
 
   $ request json-diff/f8bbb9024b10/foo
   200 Script output follows
   


More information about the Mercurial-devel mailing list