[Xapian-devel] Branching for 1.1

Richard Boulton richard at lemurconsulting.com
Fri Feb 22 10:48:55 GMT 2008


Olly Betts wrote:
> On Thu, Feb 21, 2008 at 03:52:52PM +0000, Richard Boulton wrote:
>> However, since 1.0.5 we've implemented various things on HEAD which 
>> probably don't belong in a 1.0.X release: in particular, the replication 
>> code, while an API addition (and thus, technically possible to include 
>> in 1.0.6) is still a bit immature, and it would be good to give it a few 
>> months of development time to settle before freezing it into a release.
> 
> Hmm, "a few months" sounds a little worrying.  I've not really had a
> play with it, but it would be bad if this held up 1.1.0.  Perhaps we
> should consider creating a branch for it?

A few months is probably an overestimate - I needed to change the API in 
replication.h only a couple of days ago (to allow for logging of the 
changes involved in a replication operation), so it's feeling less API 
stable to me than it might otherwise do.  However, I'd known that that 
change was likely to be necessary for a while, and I don't know of any 
other changes which are likely to be needed to the replication API, so I 
don't think it's likely to hold up 1.1.0.

(There are a few things I'd like to improve about the implementation of 
the replication stuff - but they're just to improve test coverage and 
reorganise the code a bit, so don't need to block a release.)

>> I'm happy to make such a branch, but thought I'd check if other 
>> developers (especially Olly) agree that now is a sensible time to make 
>> it, or have other suggestions.
> 
> I'd prefer to hold off on branching until we're ready to make a 1.0.6
> release.  My past experience of this sort of thing suggests that
> tracking which changes are on which release branches is something of
> a pain, so I'd rather do the branch creation, backporting of appropriate
> changes, and 1.0.6 release over a short interval (and not while I'm
> busily trying to emmigrate!)

Fair point - but assuming we don't want the replication stuff in 1.0.6, 
the branch point is either going to have to be at the point before the 
replication stuff was added to HEAD, or we're going to have to remove 
the replication stuff from HEAD temporarily to make a release, then 
branch and add it back.  That (latter option) seems like more trouble 
than its worth.

I've just come up with another reason for branching now: I've just been 
working on allowing Xapian::Stem to be subclassed from Python (to allow 
a custom stemmer to be supplied to the queryparser) - it turns out that 
Xapian::Stem::operator() isn't virtual, which is needs to be to allow 
subclassing from Python.  I can't see any way to fix this without an API 
change, so it needs to wait for the 1.1 series.  I _could_ make a branch 
for this change, but I'm already maintaining 3 branches (at least some 
of which I'm hoping to be able to merge into HEAD before 1.1), and I'd 
much prefer to make a branch for 1.0.x and maintain that, rather than 
make a branch for further changes towards 1.1 and maintain that.

-- 
Richard



More information about the Xapian-devel mailing list