Boost logo

Boost :

From: Michael Marcin (mmarcin_at_[hidden])
Date: 2007-09-26 20:43:10


I work with Boost on a daily basis and generally I work with svn trunk.
I also use some boostified libraries that are not officially accepted
into Boost yet. There are also times when I need to make changes to the
way a component or library behaves that are not well factored enough to
make it in to the official tree but serve their purpose.

How do I manage these complications?

At present I have a folder named boost which has an external named clean
to svn trunk and a folder named patch which mirror's trunk's layout but
contains some unofficial boost components from the vault or the sandbox
as well as some local modifications but not a full copy of trunk.

The first problem comes up while extending BBv2 to handle a new
compiler. I must point boost-build.jam to a directory and it will look
there for all its files so if I have changes I have to copy the entire
boost/tools/build folder into the patch directory tree. Now I'm free to
modify it and add files but it will quickly go stale and need to be
resynced with trunk.

I thought of creating svn patch files, checking those into my local
repository and then just applying those patches when I checkout but
those cannot handle the addition of files. It also makes it impossible
to simply checkout from svn and have things just work which I very much

I have a similar problem with the open source Adobe libraries which
relates back to Boost. I need to patch those libraries to point to my
version of Boost not theirs so I don't have 2 versions of Boost floating
around in my code.

In the past I've just copied the whole repository done my changes
locally and hand merged with the latest from the Boost repository when I
needed to update. This is tedious and error prone.

Does anyone else have this problem?
If so, how did you solve it?


Michael Marcin

Boost list run by bdawes at, gregod at, cpdaniel at, john at