[PATCH] revset: add exclusive revset
Durham Goode
durham at fb.com
Sat Nov 16 17:07:49 UTC 2013
On 11/15/13 11:36 PM, "Durham Goode" <durham at fb.com> wrote:
># HG changeset patch
># User Durham Goode <durham at fb.com>
># Date 1384575318 28800
># Fri Nov 15 20:15:18 2013 -0800
># Node ID 029191a9eb775c586ed02c201d0c555053ea44da
># Parent aa80446aacc3b1574211649cd8f190250b6b04b3
>revset: add exclusive revset
>
>Adds a exclusive revset that has two forms:
>
>exclusive(<set>) is equivalent to "::<set> - ::(heads() - <set>)"
>
>exclusive(<include>,<exclude>) is equivalent to "::<include> -
>::<exclude>"
>
>On a large repo, this implementation can process/traverse 50,000 revs in
>0.7
>seconds, versus 4.2 seconds using "::<include> - ::<exclude>".
Talked in person with people about this.
- going to tweak the first form to be "::<set> - ::(heads() -
heads(<set>::))"
- going to use the built in ancestor.missingancestor. It's algorithmically
a little worse, but in practice is faster and less code.
- going to find a better name
More information about the Mercurial-devel
mailing list