[PATCH STABLE V2] revset: evaluate sub expressions correctly (issue3775)

Matt Mackall mpm at selenic.com
Wed Jan 23 17:41:39 CST 2013


On Wed, 2013-01-23 at 23:20 +0900, FUJIWARA Katsunori wrote:
> # HG changeset patch
> # User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
> # Date 1358949175 -32400
> # Branch stable
> # Node ID d84ac6f848203629caa30003ff2b5c3028a05670
> # Parent  a2e9fe93d9eaba4ad2727d6bcde3afe3985ac00b
> revset: evaluate sub expressions correctly (issue3775)

Ok, I think I'm convinced this is correct. My understanding of the issue
here is:

a) the optimizer tries to arrange that given (x or y), we arrange for
the more expensive clause to be on the rigt
b) orset tries to keep the expensive clause from doing extra work by
filtering out the known-good revisions
c) rangeset and a few others were using subset to filter their _input
domain_ rather than their _output range_

(In the future, we're going to want to encode which predicates have a
direct relation between their range and domain to allow us to build
iterators.)

This is queued for stable, thanks.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list