mercurial/hgweb/webcommands.py
changeset 19765 521c373ff134
parent 19738 93b8544c4482
child 19768 186f54d40fdd
equal deleted inserted replaced
19763:ea35caf324bb 19765:521c373ff134
   149     def revsetsearch(revs):
   149     def revsetsearch(revs):
   150         for r in revs:
   150         for r in revs:
   151             yield web.repo[r]
   151             yield web.repo[r]
   152 
   152 
   153     searchfuncs = {
   153     searchfuncs = {
   154         MODE_REVISION: revsearch,
   154         MODE_REVISION: (revsearch, _('exact revision search')),
   155         MODE_KEYWORD: keywordsearch,
   155         MODE_KEYWORD: (keywordsearch, _('literal keyword search')),
   156         MODE_REVSET: revsetsearch,
   156         MODE_REVSET: (revsetsearch, _('revset expression search')),
   157     }
   157     }
   158 
   158 
   159     def getsearchmode(query):
   159     def getsearchmode(query):
   160         try:
   160         try:
   161             ctx = web.repo[query]
   161             ctx = web.repo[query]
   197             return MODE_KEYWORD, query
   197             return MODE_KEYWORD, query
   198 
   198 
   199     def changelist(**map):
   199     def changelist(**map):
   200         count = 0
   200         count = 0
   201 
   201 
   202         for ctx in searchfunc(funcarg):
   202         for ctx in searchfunc[0](funcarg):
   203             count += 1
   203             count += 1
   204             n = ctx.node()
   204             n = ctx.node()
   205             showtags = webutil.showtag(web.repo, tmpl, 'changelogtag', n)
   205             showtags = webutil.showtag(web.repo, tmpl, 'changelogtag', n)
   206             files = webutil.listfilediffs(tmpl, ctx.files(), n, web.maxfiles)
   206             files = webutil.listfilediffs(tmpl, ctx.files(), n, web.maxfiles)
   207 
   207 
   245     tip = web.repo['tip']
   245     tip = web.repo['tip']
   246     parity = paritygen(web.stripecount)
   246     parity = paritygen(web.stripecount)
   247 
   247 
   248     return tmpl('search', query=query, node=tip.hex(),
   248     return tmpl('search', query=query, node=tip.hex(),
   249                 entries=changelist, archives=web.archivelist("tip"),
   249                 entries=changelist, archives=web.archivelist("tip"),
   250                 morevars=morevars, lessvars=lessvars)
   250                 morevars=morevars, lessvars=lessvars,
       
   251                 modedesc=searchfunc[1])
   251 
   252 
   252 def changelog(web, req, tmpl, shortlog=False):
   253 def changelog(web, req, tmpl, shortlog=False):
   253 
   254 
   254     query = ''
   255     query = ''
   255     if 'node' in req.form:
   256     if 'node' in req.form: