
On Fri, May 22, 2009 at 11:38 AM, troy d. straszheim <troy@resophonic.com>wrote:
Beman Dawes wrote:
On Thu, May 21, 2009 at 2:40 PM, Vladimir Prus <vladimir@codesourcery.com
wrote:
troy d. straszheim wrote:
I share your worry. Probably some scm mechanism should take care of
it. I'm out of ideas for the moment.
svn:externals in SVN allow you to have master copies of headers say in
libs/thread/include
and have a copy checked out into
boost/thread
while making commits in boost/thread work, and commit into the master copy. Disk requirements are a question, though.
I also really worried about this header issue.
Volodya, thanks for the svn:externals suggestion. I'll try to learn more about svn:externals so I can form an opinion.
I said I was "out of ideas", but that was a little disingenuous. This is certainly one of many possible implementations, but I urge caution here. We've been using svn:externals for subproject management for a while, against the conventional wisdom. It makes merging even harder, can turn a large difficult-to-merge project into an impossible to merge project. You can end up needing to write tools to wrangle your externals. It won't be too hard to make a sample implementation to show how it works, I think this will help clarify things.
Is this a project that does project-wide merges? I can see how that might be a problem. Boost developers and release managers, OTOH, don't ever do project wide merges. Instead, everything happens on a library by library basis. I would expect merging a single library would be easier if its header files lived entirely within the library's boost-root/libs/libname tree. What am I missing? --Beman