comparison mercurial/revset.py @ 20449:ad2f1512eaa6

revset: added lazyset implementation to date revset Performance Benchmarking: $ time hg log -qr "first(date(05/03/2005))" 0:9117c6561b0b real 0m3.157s user 0m2.994s sys 0m0.087s $ time ./hg log -qr "first(date(05/03/2005))" 0:9117c6561b0b real 0m0.509s user 0m0.289s sys 0m0.070s
author Lucas Moscovicz <lmoscovicz@fb.com>
date Mon, 03 Feb 2014 16:02:48 -0800
parents 92f6f2db3cf4
children 4f1aed2c7a7e
comparison
equal deleted inserted replaced
20448:92f6f2db3cf4 20449:ad2f1512eaa6
580 Changesets within the interval, see :hg:`help dates`. 580 Changesets within the interval, see :hg:`help dates`.
581 """ 581 """
582 # i18n: "date" is a keyword 582 # i18n: "date" is a keyword
583 ds = getstring(x, _("date requires a string")) 583 ds = getstring(x, _("date requires a string"))
584 dm = util.matchdate(ds) 584 dm = util.matchdate(ds)
585 return baseset([r for r in subset if dm(repo[r].date()[0])]) 585 return lazyset(subset, lambda x: dm(repo[x].date()[0]))
586 586
587 def desc(repo, subset, x): 587 def desc(repo, subset, x):
588 """``desc(string)`` 588 """``desc(string)``
589 Search commit message for string. The match is case-insensitive. 589 Search commit message for string. The match is case-insensitive.
590 """ 590 """