From: Joel de Guzman (joel_at_[hidden])
Date: 2007-11-05 09:52:38
Beman Dawes wrote:
> At the suggestion of Emil Dotchevski, seconded by Chris Kohlhoff, on my
> trunk working copy I've moved the system-specific portions of the header
> <boost/system/error_code.hpp> into new headers. They are named:
> This is a breaking change for asio, and any other boost code that
> depends on <boost/system/error_code.hpp> containing system-specific
> enums. New #includes are required for whichever headers apply.
> This isn't a disruptive change (because the effects are very localized),
> and normally I'd just coordinate it offline with Chris. But I'd like to
> shakedown the procedure that should be followed for disruptive breaking
> changes. Thus this posting to give others a chance to comment.
> I think the procedure for such breaking changes should be something like:
> * Create a branch, branches/system. The contents are the entire
> boost tree.
> * Apply the Boost.System changes to that branch.
> * Announce the branch on the list, and encourage any developers
> affected to update their libraries on the branch.
> * Once all affected libraries are changed on the branch and
> passing tests on developer's machines, merge the changes into
> a working copy of the trunk and do a single commit.
> * Watch regression tests closely to be sure nothing else broke.
> Does this sound right?
* Try to fix all affected dependent boost libraries, if possible.
* Announce the branch on the list, and encourage any developers
affected to update their libraries on the branch.
This is how I did it with the recent fusion tweaks. I also recall that
the MPL author(s) also graciously tweaked all dependent libraries
when they changed apply_if to eval_if.
-- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk