[PATCH 5 of 7] reachableroots: use internal "revstates" array to test if rev is a root

Yuya Nishihara yuya at tcha.org
Fri Aug 21 22:11:16 CDT 2015


On Fri, 21 Aug 2015 13:19:00 -0400, Augie Fackler wrote:
> On Wed, Aug 19, 2015 at 10:00:42PM +0900, Yuya Nishihara wrote:
> > On Tue, 18 Aug 2015 15:44:35 -0400, Augie Fackler wrote:
> > > On Tue, Aug 18, 2015 at 12:32:55PM -0700, Pierre-Yves David wrote:
> > > > that would probably justify a signature change, but we never released this
> > > > code, so I'm unsure. If the old/new code raise proper exception when passed
> > > > the new/argument and fallback to the pure implementation, I do not think we
> > > > need to change the name
> > >
> > > It will not fall back to the old version - it will just explode
> > > because of type mismatches. That's by design - a previous incarnation
> > > of the patch series silently swallowed errors and it meant that it was
> > > too easy to have a trivial programming error cause the C extension to
> > > go unused silently.
> >
> > Do we have to care for the case of new .py + old .c?
> 
> Hm, no I don't think we need to worry about that especially.
> 
> >
> > New C function will be more permissive because sets and lists are iterable,
> > but if new .py passes a smartset to old C function, it would cause TypeError.
> 
> I thought this series moved from using PySet_ functions to PyList_
> functions, so it'd still break old .py with new .c?

Yes. I'm thinking of new implementation that will use PyIter thing.


More information about the Mercurial-devel mailing list