1.如何设置 cvs ?
如何设置 cvs ?
cvs作为流行的开源版本控制系统,是建立在rcs基础上的,在使用之前需要进行配置,主要的qq离线挂机源码配置步骤如下:
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" chap start
为了证实原代码库可以工作,可以将usr/src/neoshine/BUIld/backup-2.0/src改名,然后将原代码检出,用diff比较一下,python源码小站会发现唯一的区别是cvs目录是checkout创建的。原代码检出后,用户应该只编辑检出的原代码,因为检出的代码已经处于cvs控制下了。
cvs使用:
1、naming源码解析检出原代码:要想使用保存在cvs中的文件,必须检出,在检出的文件中修改,
cvs checkout -d /mnt chop
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文件