㈠ 如何恢复删除掉的CVS文件
解决方法:
右键点击删除文件的目录“team”-“Restore from Repository”,选择删除的文件对应的版本号,点击“finish”即可恢复。
㈡ 如何设置 cvs
cvs作为流行的开源版本控制系统,是建立在rcs基础上的,在使用之前需要进行配置,主要的配置步骤如下:
1、执行$cvs -d $HOME/cvs(源代码库的位置,可换) init
init 命令创建了目录并把一系列用于管理源代码库的文件存放到了CVSROOT下,但是绝对不能随便编辑这些文件,都则会让你的原代码库无法使用。
2、设置环境变量:export CVSROOT=$HOME/cvs,或者将其放入$HOME/.bash_profile文件中,这样每次开机都能自动设置。
再接下来就可以将源代码文件(你的项目)交给cvs控制了,使用cvs 的import命令:
cvs import [-d][-k subst][-r ign][-b branch][-w spec] repository vendor-tag release-tags...
-d:用每个导入文件的最后修改时间作为cvs导入时间
-k sub:设置rcs关键字的默认替代模式
-I ign:忽略文件列表
-b bra:指定开发商的分支id
-m msg:记录导入时的消息
repository:从原代码库repository导入文件
vendor-tag:原代码提供者的名字
release-tags:指定用于某个特殊发布的符号名
假定你的文件位于/usr/src/neoshine/BUIld/backup-2.0/src,而你想让他们导入到$CVSROOT中去:
cd /usr/src/neoshine/BUIld/backup-2.0/src
cvs import -m "Initial import backup tool" chap01 start
为了证实原代码库可以工作,可以将usr/src/neoshine/BUIld/backup-2.0/src改名,然后将原代码检出,用diff比较一下,会发现唯一的区别是cvs目录是checkout创建的。原代码检出后,用户应该只编辑检出的原代码,因为检出的代码已经处于cvs控制下了。
cvs使用:
1、检出原代码:要想使用保存在cvs中的文件,必须检出,在检出的文件中修改,
cvs checkout -d /mnt chop01
2、将改动合并进原代码库:在修改编辑好了一个文件后,要合并需要两步,首先,更新cvs确保其他开发人员对你编辑的文件的修改已经反映到你的原代码上,使用cvs update命令,cvs检测到别人和你编辑了同一文件,他会检索出有关版本,进行合并,然后你就可以使用cvs commit命令提交你自己的修改了,此时,你修改的内容其他人可以看到了。注意,提交操作需要使用普通拥护,因此,最好不要用root用户来登陆
3、检查改动:要检查一个文件的修改历史,使用log命令cvs log yo.c
4\添加和删除文件:cvs维护了议和工作目录的历史,但是它不会自动假定一个被删除的文件代表该文件应该从原代码库中被删除,添加也一样,因此,你可以通过commit\add\remove命令组合来实现.
添加一个文件到原代码库:创建文件,用add加入,用commit命令提交到原代码库
cvs add yo.h
cvs commit -m "Add header file " yo.h
删除:
cvs rm main.c
cvs commit -m "remove main.c"
5\解决文件冲突
在cvs update命令执行后没有出现成功合并差异的M yo.c标志,而是C 冲突,U出现了新的文件,这样为了解决冲突,只好编辑冲突文件,解决冲突后再提交.
cvs命令:
admin:执行原代码库的多种管理功能
checkout:用来自原代码库的文件创建工作目录
diff:显示工作目录和原代码库之间的区别或者原代码库中不同版本的差别
export:创建原代码库的一个拷贝,但是不更新
history:创建原代码库中文件或者目录所执行的cvs命令历史信息
release:取消cvs checkout操作以及对工作目录所做的任何修改
status:显示原代码库中文件的当前状态
cvs选项:
-d cvsroot:指定原代码库的根目录
-e editor:使用editor编辑日志信息
-f:~/.cvsrc文件
㈢ java操作csv文件
cvs格式实际上就是字符串,直接通过英文”,“来进行的间隔显示,所以直接写入的时候直接在流中添加英文标点逗号即可。
实现思路:就是将需要保留的内容写入另外一个cvs文件中在满足条件处进行增加、删除、修改操作。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.xml";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.cvs”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.cvs”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(!str.indexOf("<end>")){//判断如果不满足cvs行条件就删除
pw.write(str);//将要写入文件的内容,可以多次write
}
};
bre.close();
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。