[PATCH STABLE] revset: have rev() drop out-of-range or filtered rev explicitly (issue4396)
Yuya Nishihara
yuya at tcha.org
Thu Oct 23 07:00:12 CDT 2014
On Mon, 20 Oct 2014 09:46:15 -0700, Pierre-Yves David wrote:
> On 10/20/2014 06:02 AM, Yuya Nishihara wrote:
> > On Mon, 20 Oct 2014 03:06:01 -0700, Pierre-Yves David wrote:
> >> I've changed it to::
> >>
> >> if l not in repo.changelog:
> >>
> >> And pushed the result to the clowncopter.
> >
> > Isn't it slower than "l in repo" for large number?
> > revlog doesn't have __contains__().
> >
> > revset #0: rev(210000)
> > 0) wall 0.026161 comb 0.030000 user 0.030000 sys 0.000000 (best of 107)
> > 1) wall 0.000045 comb 0.000000 user 0.000000 sys 0.000000 (best of 58973)
> > 2) wall 0.000063 comb 0.000000 user 0.000000 sys 0.000000 (best of 42704)
> > 3) wall 0.002724 comb 0.000000 user 0.000000 sys 0.000000 (best of 1060)
>
> gasp! I did not realised that. I switched it to `l not in
> fullreposet(repo)` in a hurry. We should probably fix changelog
> containment in 3.3. Thanks alot for double checking this, should not
> have tried to get thing "better" (but I happy to have found a bug).
Maybe new patch isn't pushed to clowncopter yet?
The slow version was queued:
http://selenic.com/repo/hg/rev/ba89f7b542c9
Regards,
More information about the Mercurial-devel
mailing list