[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