您的位置:软件测试 > 开源软件测试 > 开源配置管理工具 > cvs
CVS使用简介
作者:网络转载 发布时间:[ 2013/1/23 13:55:29 ] 推荐标签:

$cvs remove –f test.c

如果在提交之前想恢复刚才删除的文件,可以如下:
$cvs add test.c
如果只执行了第一步删除(rm),则可以用下面的方法恢复:
$cvs update test.c

对于重命名的文件,可以先删除再添加。

对于目录的修改(重命名),可能需要修改cvs 管理文件,一般应该遵循以下步骤:
1) 确认所有有关的修改都已经提交;
2) 进入文件仓库中要修改的模块目录,对相应的目录进行修改(重命名或删除)
$cd $CVSROOT/modules
$mv old_dir new_dir
3) 如果有必要,修改管理文件,比如modules 文件
如果要删除目录,则应该先对目录中每个文件都进行了删除(包括使用cvs remove )处理之后再执行上面的第2步。
(3) 提交源文件
cvs commit [-Rl][-m mesg] files

-R 连子目录一起提交
-l 只提交本地目录(不提交子目录)
-m 注释信息

在检出源文件之后,在工作目录中对源文件进行的所有修改都必须在提交之后才能对文件仓库中的源文件起作用,并且新的文件才能够被分配一个新的版本号。
(4) 释放工作目录
cvs release –d SOURCE

这个命令会删除工作目录 cvstest/c (建议在提交了修改的模块后执行这一步), 它比使用 rm –rf cvstest 要好。

3. 多用户开发
---------------
在多用户的情况下,如果不同用户修改的是同一个文件的不同部分,则使用下面的命令能进行版本合并(把检出的文件与当前的新版本合并):
$cvs update
(1) 冲突解决
在有多个用户对同一个文件进行修改时,如果修改了其中的相同部分,而修改后的内容如果有不同的话,出现冲突是不可避免的。如果在CVS 文件仓库中有一个文件 test.c ,它的版本是 1.4, 用户A 先检出该文件进行修改,而稍后有用户B 检出该文件进行修改,并提前提交成 1.5, 而在用户A再提交时会出现冲突(如果文件内容不同的话),这时CVS会提示需要手工解决。
文件仓库中的版本1.4:
#include stdio.h
main()
{
int i;
for(i = 0; i < 100; i++)
printf(“Count: %d
”, i);
}
用户B 1.5:
#include stdio.h
main()
{
int i;
for(i = 0; i < 10; i++)
printf(“Count: %d
”, i);
printf(“Over
”);
}
用户A :
#include stdio.h
main()
{
int i;
for(i = 0; i < 50; i++)
printf(“Count: %d
”, i);
return;
}
提交时会提示有冲突,需要手工编辑,这时运行了$cvs update 之后再编辑test.c, 会看到:
#include stdio.h
main()
{
int i;
<<<<<<< test.c
for(i = 0; i < 50; i++)
=======
for(i = 0; i < 10; i++)
>>>>>>> 1.5

printf("Count: %d
", i);
<<<<<<< test.c
return;
=======
printf("Over
");
>>>>>>> 1.5
}

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd