Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-10-09 04:24:48


Rene Rivera wrote:
> Some time ago we talked about restructuring the Boost.Build code so that it
> would easier for everyone to work and use v1 and v2. The goal was to move
> the code for each into subdirectories tools/build/v1 and tools/build/v2. I
> did some reading of CVS and the easiest, safest, and least disruptive way
> is to use the "copy history files" method. The steps involved are:
>
> 1. Creating the new location directories, v1 & v2 in our case.
> 2. Copying the *,v CVS history files to the new locations. This
> involves direct manipulation of the CVS repository so the SF staff has to
> do this part.
> 3. After getting the new structure... Deleting non-branch tags from the
> new files.

Why is this needed?

> 4. Making any changes to make the new structure work.
> 5. Removing the now duplicated old files.
>
> The major advantage of that above is that the old structure is still
> available to users while we make any fixes to the new structure. Another is
> that we keep all the history, the old files are there and retrievable
> (doesn't break previous versions), and the new files still have the
> complete history (but don't show for old versions).

I agree that it's the best approach, lacking "cvs copy". It would be bad to
loose all history on all files.

> For step #2 SF suggests writting a script they can execute. See the
> attachement for that. I'd like other people to look it over for errors.

I haven't seen any.

> And
> I have one structural question... Since we are talking about moving
> basically all files around, would now be a good time to also move the v2
> files in the "new" subdir to their "correct" locations? And if so, what are
> those new locations?

An excellent ocasion to restructure "new". Here is the list of new directories
for all staff in "new", in my opinion. Comments are welcome.

alias.jam build
assert.jam util
boost-build.jam ??? maybe just remove
build-request.jam build
builtin.jam tools
class.jam kernel
common.jam tools
container.jam util
doc.jam util
feature.jam build
generators.jam build
indirect.jam util
make.jam tools
modifiers.jam build
numbers.jam util
os.jam util
path.jam util
prebuilt.jam tools
print.jam util
project-roots.jam build
project.jam build
property-set.jam build
property.jam build
regex.jam util
scanner.jam build
sequence.jam util
set.jam util
site-config.jam build?
stage.jam tools
string.jam util
symlink.jam tools
targets.jam build
test.jam build?
testing.jam tools
toolset.jam build
type.jam build
user-config.jam build?
utility.jam util
version.jam build
virtual-target.jam build
readme.txt build

Besides, I have one idea: I recall SF provides CVS snapshots. We can get one,
run your script and check if the results are OK. I'm about to download it
now, not sure how much it will take ;-)

Thanks,
Volodya

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk