RFC: Moving C to its own directory

David O'Brien obrien@FreeBSD.org
Sun Jun 1 20:59:00 GMT 2003


On Sun, Jun 01, 2003 at 01:10:34PM -0700, Russ Allbery wrote:
> Phil Edwards <phil@jaj.com> writes:
> 
> > If we're willing to get a little underhanded, we can do the shuffling in
> > the repository directory structure itself, i.e., cp/mv the foo,v files
> > directly.

> cp avoids this, but has a different problem of giving you both the old and
> the new locations when you check out an old version.  What you have to do
> is cp the ,v files and then remove all the old tags from the new ,v files,
> and then cvs remove all of the old files from the mainline.  It's messy,
> ugly work with RCS file internals.

Its not messy, and not hard to do.

1. copy all the live ,v files to new location
2. prepend "old_" to all the tags of the ,v files in the new location
   (we use a script to do this)  You don't want to remove the tags as
   they are part of the valuable history.  Doing a repo copy vs. just
   checking in a copy of the latest sources is almost useless w/o the
   tags also.
3. make a cvs forced checking (cvs ci -f) noting the files were repo
   copied and from where
4. cvs rm -f ; cvs ci  the old files

The only "hole" is that "cvs co -D" will give more files than actually
existed on that date.  That still won't break the build, and since GCC
tags so often, one can use "cvs co -r" instead and get the true tree of
an older date in time.

-- 
-- David  (obrien@FreeBSD.org)



More information about the Gcc mailing list