[PATCH] revset: make follow() reject more than one start revisions

Pierre-Yves David pierre-yves.david at ens-lyon.org
Sun Oct 16 08:20:35 EDT 2016



On 10/12/2016 03:07 PM, Yuya Nishihara wrote:
> # HG changeset patch
> # User Yuya Nishihara <yuya at tcha.org>
> # Date 1476131409 -7200
> #      Mon Oct 10 22:30:09 2016 +0200
> # Node ID 4960509763a61ae3710346131f218cf3bf3f3d32
> # Parent  30b2ca4bcf3588de9d949b3eefb2669cb6f8a18a
> revset: make follow() reject more than one start revisions

Pushed thanks

> Taking only the last revision is inconsistent because ancestors(set) follows
> all revisions given, and theoretically follow(startrev=set) == ancestors(set).
> I'm planning to add a support for multiple start revisions, but that won't fit
> to the 4.0 time frame. So reject multiple revisions now to avoid future BC.

Looking forward for that

> len(revs) might be slow if revs were large, but we don't care since a valid
> revs should have only one element.

Maybe we could use two iteration step to check that the second one is 
empty? That would imply less computation if the set is large.

If this end up being a common need we could extend the smartrevset class

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list