
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