|
Boost : |
From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2007-09-18 16:51:57
David A. Greene wrote:
> Let's say I have repository foo with some externals that looks like this:
>
> foo/
> bar/ (external)
> baz/ (external)
> src/
> module1/
> module2/
>
> If I make changes to files in module1 and files in baz and want to commit
> them, I must do two different commits, one for module1 and one for baz.
> This can become troublesome if these commits are dependent as there will
> be a window where the repository is not buildable/runnable/whatever.
>
> I also cannot get a single diff file of all the changes. I have to run two
> separate diffs.
>
> These aren't necessarily showstoppers, but it's very inconvenient at times.
>
I think what Dave imagines looks more like
libs/
serialization/
spirit/
phoenix/
regex/
...
aggregates/
boost/
-> serialization/boost
-> spirit/boost
-> phoenix/boost
libs/
-> serialization/libs
-> spirit/libs
-> phoenix/libs
i.e. the externals are merely for convenience of checking out and
updating when you want to run the SVN version of boost, not for actual
development, certainly not for ever having commits.
The question is whether that works - can externals be "merged" this way?
> Curiously, emacs svn mode allows you to do diffs across externals (presumably
> running separate diffs and aggregating the results), but isn't smart enough to
> do commits across externals.
>
Or not foolhardy enough to do it. The race condition you pointed out
above would be enough to make developers think twice about providing
this as an automated feature.
Sebastian Redl
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk