Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2007-11-05 09:26:49


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:

     <boost/system/cygwin_error.hpp>
     <boost/system/linux_error.hpp>
     <boost/system/windows_error.hpp>

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?

--Beman


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