[PATCH 1 of 2 V2] hgweb: search() function supports direct pointing to revision
Alexander Plavin
alexander at plav.in
Tue Aug 20 11:26:32 UTC 2013
20.08.2013, 06:08, "Kevin Bullock" <kbullock+mercurial at ringworld.org>:
> On 6 Aug 2013, at 4:55 PM, Alexander Plavin wrote:
>
>> # HG changeset patch
>> # User Alexander Plavin <alexander at plav.in>
>> # Date 1374187271 -14400
>> # Fri Jul 19 02:41:11 2013 +0400
>> # Node ID 6519709f0402a4ca4d28b0f2c0e96e79fa41763b
>> # Parent e273fa3d540fb888ee6c260ee30b9e9b2b0f4d65
>> 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 e273fa3d540f -r 6519709f0402 mercurial/hgweb/webcommands.py
>> --- a/mercurial/hgweb/webcommands.py Fri Jul 19 02:08:19 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():
>> + yield web.repo[query]
>> +
>> def keywordsearch():
>> lower = encoding.lower
>> qw = lower(query).split()
>> @@ -138,10 +141,15 @@
>>
>> yield ctx
>>
>> + searchfuncs = {
>> + 'rev': revsearch,
>> + 'kw': keywordsearch,
>> + }
>> +
>> def changelist(**map):
>> count = 0
>>
>> - for ctx in keywordsearch():
>> + for ctx in searchfunc():
>> count += 1
>> n = ctx.node()
>> showtags = webutil.showtag(web.repo, tmpl, 'changelogtag', n)
>> @@ -181,6 +189,14 @@
>> morevars['revcount'] = revcount * 2
>> morevars['rev'] = query
>>
>> + try:
>> + web.repo[query]
>> + modename = 'rev'
>
> As this stands, you're calling web.repo.__getitem__ twice. Not keen on that.
Hm, good point, thanks for noticing it! I didn't catch it. Quite easy to fix :)
>
> pacem in terris / мир / शान्ति / سَلاَم / 平和
> Kevin R. Bullock
More information about the Mercurial-devel
mailing list