I'm relatively new to CVS, but not to SCM tools. I just started working on a project to migrate users out of VSS & PVCS to CVS. Part of what we are doing is establishing a common structure to better facilitate sharing of common modules (getting each group out of a silo and into a sandbox with others), and I need to do some shuffling in the repository...
I need to physically move a directory within the repository, without losing any delta history. So far, my process looks like this:
1. Do a "cvs release module_name" of the local workspace.
2. Physically move the directory from the cvs root directory to dir_b (mv $CVSROOT/module_name $CVSROOT/dir_b/module_name).
3. Modify the modules config file entry from "module_name module_name" to "module_name dir_b/module_name".
4. Do a "cvs checkout module_name" in the local workspace.
And that process works *fine* so far in my tests. But I was wondering if there was a way to simplify this process, to be able to move folders behind the scenes so that the developers wouldn't have to do a release and checkout? Every test I have done so far without first doing a release so far tells me "no". I just wanted to make sure I wasn't missing something.
I tried doing the same thing as above with the -a option in the modules config file:
"module_name -a dir_b/module_name"
and I still have to do a release & checkout. I also got an unexpected surprise when I did the "cvs checkout module_name" in that it put it under dir_b/module_name instead of at the root level of my workspace as it was before. If I wanted it to put the module in the top "project" level as before, should I have had it switched in the modules file:
"dir_b/module_name -a module_name"
If I'm reading the manual right, that's what I did wrong... correct?
Any other suggestions? I hope this is clear enough, let me know if it isn't...
American Electric Power
Direct (614) 583-6337
KForce Professional Staffing
501 W. Schrock Road Suite 207
Westerville, OH 43081