[PATCH 3 of 4 V4] hgweb: search() function supports direct pointing to revision

Alexander Plavin alexander at plav.in
Tue Aug 27 13:09:07 CDT 2013


# HG changeset patch
# User Alexander Plavin <alexander at plav.in>
# Date 1374187271 -14400
#      Fri Jul 19 02:41:11 2013 +0400
# Node ID 1ea68b37d07701cc53741cd96cc042ac5c62b96a
# Parent  e1404f928161fabcf95ad6c32405cc1cff5e2bb0
hgweb: search() function supports direct pointing to revision

This doesn't change the behavior, as queries directly pointing to revisions
are not delegated to the search() function now.

diff -r e1404f928161 -r 1ea68b37d077 mercurial/hgweb/webcommands.py
--- a/mercurial/hgweb/webcommands.py	Thu Aug 22 16:42:10 2013 +0400
+++ b/mercurial/hgweb/webcommands.py	Fri Jul 19 02:41:11 2013 +0400
@@ -110,6 +110,9 @@
 
 def _search(web, req, tmpl):
 
+    def revsearch(ctx):
+        yield ctx
+
     def keywordsearch(query):
         lower = encoding.lower
         qw = lower(query).split()
@@ -139,11 +142,17 @@
             yield ctx
 
     searchfuncs = {
+        'rev': revsearch,
         'keyword': keywordsearch,
     }
 
     def getsearchmode(query):
-        return 'keyword', query
+        try:
+            ctx = web.repo[query]
+        except (error.RepoError, error.LookupError):
+            return 'keyword', query
+        else:
+            return 'rev', ctx
 
     def changelist(**map):
         count = 0


More information about the Mercurial-devel mailing list