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