Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-06-29 10:19:20


"Robert Ramey" <ramey_at_[hidden]> writes:

> As I recall, the previous release was scheduled for beginning
> November. I was working on the serialization library at the time
> and using the development tree at the time. When the release was
> announced, lots of new stuff was added.

Right; last-minute major changes in Boost.Test and shoving in
"is_abstract" caused big problems.

> There were a couple of tweaks in the new iterators which required
> changes for me to keep up.

That doesn't mean there was "experimental" code in the tree. I
fixed everything I could find in CVS that depended on the change.
If serialization had been in the CVS you'd have had no trouble with
the iterators.

> Trying to develop new stuff based on he development tree became
> inconvenient but I needed features not it 1.30 . Then about the
> middle of January "is_abstract" was dropped in. This was an evolved
> version of one I had adapted from ?R Sharoni's code. It was
> slightly different from the original in the way compilers not
> supported. So we didn't have real good knowledge about which
> platforms supported it and what value it should return on platforms
> that didn't support it. I was considered a very small change but
> consumed maybe a week of back and forth.

That was just a mistake; It's not supposed to happen that way. It was
decried by many of us and the person who did it is now contrite.

> It became clear that I could not submit a proposed serialization
> library based on the development tree that could be reviewed by
> large number of members downloading the library over an extended
> period without users encountering a lot of frustration and my trying
> to keep up with a morphing main trunk. As soon as it was released,
> I switched to maintain compatibility with the released 1.31 and it
> has worked out well.

I doubt you'd notice any difficulty with the current CVS state
either, but I could be wrong.

> Based on this experience, it is my perception that the main
> development trunk was at least somewhat fluid over a period of 2 to
> 3 months

Well, yeah! It has to change sometime, doesn't it?

> and this made development more difficult. These are just the things
> I happen to run into first hand. The traffic on the list left me
> with the impression that my experience wasn't unique.
>
> That is how I formed my impression of the problem's cause.

Thanks. I think a lot of people had the same problems you did with
is_abstract, so it wasn't unique. It was, however, unusual. We don't
normally operate that way -- although it was at least the 2nd release
in a row where last-minute changes to Boost.Test caused major
frustration.

> It is my reluctance to contribute to this problem which has
> discouraged me from checking in the serialization library until it
> is at a point where I believe there are no undocumented
> bugs/deficiencies.
>
> That is why the serialization library is not yet checked in.

I think that's sensible, unless the kind of deficiency you're
referring to is "compiler X has a bug and the library doesn't contain
a workaround".

> At this point nothing in boost depends on the serialization library.
> Should that change in the future, this discussion convinces me that
> before checking in any non-trivial changes, I should re-run the
> whole test suite on my local setup.

Of course. If anyone's not operating that way, maybe we need to make
it an explicit guideline.

> In the case of MPL, I would think that it would be prudent to run
> that part of the test suite that depends upon MPL on one's local
> environment before checking it in

Once again, of course. That's exactly what Aleksey said he would do.

> - given that we don't use a branch for untested code.

But we do; the upcoming MPL code is on a branch. (?)

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk