How to change CVS repositories
At my client, they have changed us from one repository server/path to a different repository server/path. During this transition, I was working on local files that I was going to check in to the new repository when it was ready.
Now that repository is ready, and I can't figure out how to disconnect from my existing repository and reconnect to the new one. This feature exists for IBM's RAD IDE using those exact terms.
I'm sure IDEA can do this, but I can't figure out how to do it. Anyone have suggestions? I'm specifically trying to avoid re-checking out from the new repostiory.
Please sign in to leave a comment.
Not sure if IntelliJ supports this. To accomplish this IntelliJ would have to edit the file "Root" in all of the CVS directories in your working copy.
Yea, I found a similar post and IDEA does not support this function. Ugh this is going to be a huge mess.
I'm going to have to backup my project, diff to the old project, make some screen shots, blow away the current CVS code and CVS dirs, pull the new source down, copy the old stuff over, and then check-in/merge... IBM RAD you just disconnect and reconnect to a new one.
Don't get me wrong though. Where RAD was free for me to use, I opted to purchase IDEA out of my personal funds. Think that says it all... :)
How about shelving your changes, doing a clean checkout, and then
reapply your changes from the shelf?
Leif Ashley wrote:
--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com
You can change all the CVS/Root files in your project by hand, using a tool that supports search and replace in path or a script. Or use WinCVS which I hear has a feature to change the cvs root. It is pretty easy to do.
Google for "change cvs root" if you need more info.
Bas
This one is for SVN: http://www.jetbrains.net/jira/browse/IDEA-11986. Maybe we need to create a new one for CVS.
You can actually accomplish pretty quickly with a one line Unix command (use cygwin if you are on a windows box)
find . -name Root -exec cp /cygdrive/c/cvsserver {} \;
Run this from the top-level of your project directory (this assumes all files named "Root" are the Root file in a CVS directory...it does no check to insure this.)
This command finds all files named "Root" and copies the file "/cygdrive/c/cvsserver" to each file named Root. The contents of cvsserver would be the cvsroot of your repository.
BTW, I tested this on a small test directory structure, not an actual source working copy...so you may want to do it on a backup of your working copy first if you choose to go this route.
If you aren't familiar with cygwin here is the link http://www.cygwin.com/