On Mon, 12 Feb 2018 18:00:52 +0100, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.f...@octobus.net>
> # Date 1518448909 -3600
> #      Mon Feb 12 16:21:49 2018 +0100
> # Node ID b0f45e1376e2d0f32023e197c51802bc21c60490
> # Parent  f02fd7ca256d044c4a51c3f3fc0ecaf95d23e03d
> # EXP-Topic noname
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 
> b0f45e1376e2
> revset: skip old style lookup if external whitespace are detected
> 
> Since label cannot contains leading or trailing whitespace we can skip looking
> for them. This is useful in repository with slow labels (eg: special type of
> tags). Short command running on a specific revision can benefit from such
> shortcut.
> 
> eg on a repository where loading tags take 0.4s:
> 
> 1: hg log --template '{node}\n' --rev 'rev(0)'
>    0.560 seconds
> 
> 2: hg log --template '{node}\n' --rev ' rev(0)'
>    0.109 seconds

Seems okay, but isn't it too obscure that prefixing with ' ' is the fast
way of querying?

Instead, maybe we can make lookup() to not search slow labels assuming these
labeling schemes didn't exist in pre-revset era. Alternatively, we could add
a config knob to switch off the old-style range support.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to