From patchwork Fri Aug 16 20:06:31 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [4,of,4,V2] hgweb: add link to force literal keyword search From: Alexander Plavin X-Patchwork-Id: 2192 Message-Id: <0eefb2daf844d832d177.1376683591@debian-alexander.dolgopa> To: mercurial-devel@selenic.com Date: Sat, 17 Aug 2013 00:06:31 +0400 # HG changeset patch # User Alexander Plavin # Date 1376680910 -14400 # Fri Aug 16 23:21:50 2013 +0400 # Node ID 0eefb2daf844d832d177a37a001113e8ae368982 # Parent 71ff24dc3d8d4723ffebc68d5ae7ed8f4ac26208 hgweb: add link to force literal keyword search This makes it possible to make keyword search in case the search query also specifies an exact revision (like '1234' or 'abcdef'), or a revset expression. diff -r 71ff24dc3d8d -r 0eefb2daf844 mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py Fri Aug 16 23:16:15 2013 +0400 +++ b/mercurial/hgweb/webcommands.py Fri Aug 16 23:21:50 2013 +0400 @@ -240,7 +240,17 @@ morevars['rev'] = query revdef = 'reverse(%s)' % query - searchfunc = searchfuncs[getsearchmode()] + modename = getsearchmode() + + if 'forcekw' in req.form: + showforcekw = '' + showunforcekw = searchfuncs[modename][1] + modename = 'kw' + else: + showforcekw = modename != 'kw' and searchfuncs['kw'][1] or '' + showunforcekw = '' + + searchfunc = searchfuncs[modename] tip = web.repo['tip'] parity = paritygen(web.stripecount) @@ -248,7 +258,8 @@ return tmpl('search', query=query, node=tip.hex(), entries=changelist, archives=web.archivelist("tip"), morevars=morevars, lessvars=lessvars, - modedesc=searchfunc[1]) + modedesc=searchfunc[1], + showforcekw=showforcekw, showunforcekw=showunforcekw) def changelog(web, req, tmpl, shortlog=False): diff -r 71ff24dc3d8d -r 0eefb2daf844 mercurial/templates/paper/search.tmpl --- a/mercurial/templates/paper/search.tmpl Fri Aug 16 23:16:15 2013 +0400 +++ b/mercurial/templates/paper/search.tmpl Fri Aug 16 23:21:50 2013 +0400 @@ -25,6 +25,10 @@

Assuming {modedesc}. +{if(showforcekw, ' +Use {showforcekw} instead.')} +{if(showunforcekw, ' +Use {showunforcekw} instead.')}