Ollivier Robert wrote:
> According to Wilko Bulte:
> > Is there any way, short of running a fresh cvs co, to correct this?
> 
> *NOT TESTED*
> 
> Something along the lines of
> 
> perl -ni -e 's</old/path></new/path>' **/{Root,Repository}  (if using zsh)
> 
> or 
> 
> find . \( -name Root -o -name Repository \) -path \*CVS\* | xargs perl -ni ..
    .
> 
> if not.

Note that there is an important change in CVS behavior in 1.10.7 (in -current
and -stable) relative to 1.10.  CVS used to have:

CVS/Root:       /local/CVSfoo
CVS/Repostory:  /local/CVSfoo/path/to/directory

Now it has:
CVS/Root:       /local/CVSfoo
CVS/Repostory:  path/to/directory

ie: Repository is now *relative* to the Root, and does not duplicate the Root
path.

Also, 1.10.7 has "multiroot" capability.  If you descend a tree with different
CVS/Root's, it will do the expected thing.  That means if you have a part local
tree and a part remote tree, a 'cvs update' will switch to and from remote
mode as required.  This can be a bit of a suprise if you are not expecting it!

One other thing..  cvs -d new-root-path  *unconditionally* overrides *all*
CVS/Root files.  The CVS_IGNORE_REMOTE_ROOT hack is gone and no longer required.
cvs now assumes that if you override the root with -d, then you know what you
are doing.  ie: you can check out from /local/mycvs and commit with
cvs -d user@freefall:/home/ncvs ...  and it won't complain.  It used to complain
bitterly before if the root prefixes (/local/mycvs != /home/ncvs) didn't match.

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
"All of this is for nothing if we don't go to the stars" - JMS/B5



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to