CVS 库的移动
在项目开发过程中,难免会出现各种各样的问题,当然,服务器饿坍塌也是有可能的,因此我们测试了服务器的迁移问题,具体做法依下方法:
1. CVS服务器版本相同
如果要迁移坍塌掉的服务器上的库到另一台服务器上,那么首先保证旧服务器上cvs服务器的版本与新服务器上cvs的版本相同。
2. 在新的cvs服务器上建库
在新的服务器上重新建一个CVS库,来接收要移动的库
把原来服务器备份的文件夹目录(不包括CVSROOT文件夹)放到新的服务器库下面,和新的CVSROOT同一个目录,比如:(1-工作产品库、2-管理文档库,这样的文件夹)
3. 修改本地隐藏文件CVS下面的Root文件
修改本地客户端所有隐藏文件夹及子目录下CVS下面的Root文件,修改里面的库路径为新的库路径
例子:旧路径::pserver:cvsadmin@localhost:/开发的项目/cvsroot
新路径::pserver:cvsadmin@172.16.26.28:/cvsroot
4. 把根目录最外层的Root文件放到根目录外面,和批处理处于同一个目录下
5. 对于比较小的项目,编写一个批处理文件(5和6二选一)
编写一个批处理文件CVSRootChange.bat,里面内容如下:
copy Root "E:/开发的项目/CVS工具练习/CVSROOT/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/1-产品文档库/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/1-产品文档库/1-目标任务文档/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/1-产品文档库/2-需求文档/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/1-产品文档库/3-设计文档/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/1-产品文档库/3-设计文档/1-DB设计/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/1-产品文档库/3-设计文档/2-UML设计/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/1-产品文档库/3-设计文档/3-设计参考资料/CVS" /y
copy Root "E:/开发的项目/CVS工具练习/1-工作产品库/1-产品文档库/3-设计文档/4-设计规范/CVS" /y
我这里只是一个例子,如果移库,每个文件夹下面的都要添加进去方可,然后把它保存为批处理文件,通过运行批处理
文件,改变Root下面的所有文件路径。
6.对于比较大的项目,需要运行一个java文件方可
package com.tf;
import java.io.File;
import java.util.ArrayList;
public class CvsChangeRoot
{
private static ArrayList filelist = new ArrayList();
public static void main(String[] args) throws Exception
{
CvsChangeRoot.refreshFileList("E:/开发的项目//CVS工具练习//");
}
public static void refreshFileList(String strPath)
{
File dir = new File(strPath); //将给定字符串转换成抽象路径名来创建一个新的File实例
File[] files = dir.listFiles(); //列出strPath目录下所有的文件名
if (files == null) //如果文件为空,返回
return;
for (int i = 0; i < files.length; i++) //遍历所有文件
{
if (files[i].isDirectory())
{ //判断文件是否是目录,如果是目录,执行if内方法
refreshFileList(files[i].getAbsolutePath()); //files[i].getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
String strFileName = files[i].getAbsolutePath().toLowerCase(); //toLowerCase() 将字符串转换为小写
if (strFileName.substring(strFileName.length() - 3, strFileName.length()).equals("cvs"))
{ //截取文件名的第四至最后一位字符,如果其等于cvs,则将其加入ArrayList(跟数组差不多)
System.out.println("copy Root /"" + strFileName + "/" /y"); //打印文件名
filelist.add(files[i].getAbsolutePath()); //将此文件路径加入数组
}
}
}
}
}
把此文件放到eclipse里面,做好前面的一切工作后,运行此java文件即可。
7.本地客户端重新配置服务器,重新登陆提交。
本地更新提交即可。
知道的暂时也就这么多,希望对大家有所帮助!