# HG changeset patch # User Alexander Plavin # Date 1378459856 -14400 # Node ID 186f54d40fdd59224c2893534a5715f843cb5f67 # Parent d45010687268044ecd091c22b286fb5acfe0ecff 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 --git a/mercurial/hgweb/webcommands.py b/mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py +++ b/mercurial/hgweb/webcommands.py @@ -240,6 +240,19 @@ morevars['rev'] = query mode, funcarg = getsearchmode(query) + + if 'forcekw' in req.form: + showforcekw = '' + showunforcekw = searchfuncs[mode][1] + mode = MODE_KEYWORD + funcarg = query + else: + if mode != MODE_KEYWORD: + showforcekw = searchfuncs[MODE_KEYWORD][1] + else: + showforcekw = '' + showunforcekw = '' + searchfunc = searchfuncs[mode] tip = web.repo['tip'] @@ -248,7 +261,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 --git a/mercurial/templates/paper/search.tmpl b/mercurial/templates/paper/search.tmpl --- a/mercurial/templates/paper/search.tmpl +++ b/mercurial/templates/paper/search.tmpl @@ -25,6 +25,10 @@

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