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.