Boost logo

Boost :

Subject: Re: [boost] Review request: Require a SFINAE capable compiler
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-10-13 15:31:29


On Sunday 13 October 2013 20:26:56 Stephen Kelly wrote:
> On 10/13/2013 02:17 PM, John Maddock wrote:
> >
> > It's OK by me, though as others have already said, best to wait for
> > the 1.55 release to go out first... just in case we need to test
> > patches/bug reports in Trunk.
>
> This is what I don't understand.
>
> I don't see how my work makes this any harder. At *worst*, a bug fix
> will have a part in the positive side of an ifdef for some feature (like
> BOOST_NO_SFINAE), and a part in the negative side of it. I don't think
> that's even a likely scenario. Also, that's assuming the one who writes
> the patch patches both sides of the ifdef.
>
> That is still trivial to cherry-plck into the trunk branch. Or do you
> think it is not trivial? In that case, what makes it non-trivial?
>
> I want to understand the problem that exists and is stalling me.

While the release is in process of preparation, like now, it is possible that
a bug is reported and fixed in trunk. The developer then waits to see if the
tests are ok in order to merge the fix to release. Since the time is pressing
and tests turnaround is typically around a week or so, even a brief breakage
in trunk is critical. Such breakage can prevent a valid bug fix from making it
into release.

Further I'll just speak for myself. I prefer trunk and release branch to be
always as close as possible. I don't do cherry picking when merging to
release, I always synchronize release with trunk (after tests pass) by merging
the whole library. This way I make sure I don't have any forgotten unmerged
commits in trunk. This also makes sure that I mostly have a single version of
the library everywhere, so I don't have to guess when someone reports a
problem with the library. Cherry picking is also more complicated by itself
since I have to figure out which commits I want to merge and which I don't
(and why).

So, I'm in favor of postponing any massive changes to Boost.Log or
Boost.Atomic in trunk until after 1.55. That said, I'm not against the general
trend of raising compiler requirements or someone patching the libraries I
(co-)maintain.

Perhaps, it would be a good idea to create tickets for the affected libraries
with localized patches instead of posting here cumulative patches to the whole
Boost. This way the library maintainers will be properly notified of the
planned changes, the changes won't be lost and will be applied when it is
convenient.


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