LINUX作CVS服务器之三
2009-05-13 00:55:50来源:未知 阅读 ()
3.在管理中的相关技术
3.1在管理源文件的一种技术叫"关键字替换".在每次执行"cvscommit"操作后源文件的某些关键字会被替换为可用的词
$AUTHOR$用户名
$Data$登记时的时间
$Header$标准的首部,包含RCS的完整路径名,日期,作者
$Id$除RCS文件名不完整外与$Header$同.
$Log$包含RCS的完整路径名,版本号,日期,作者和在提交时提供的日志信息.
$RCSfile$包含RCS的文件名,不包括路径名
$Revision$分配的版本号
$Source$RCS文件的完整名
$State$分配的版本的状态,由cvsadmin-s分配.
例:在cvscommit之前,main.c里有
staticchar*rcsid="$Id$";
执行cvscommit后
main.c的改行变为:
staticchar*rcsid="$Id:main.c,v1.21999/04/2915:10:14trimblefExp$";
当然,这里只是一个演示.在实际的程序开发中,这种技术有非常有用的作用,在此不多赘述.有兴趣的朋友可参考相关书籍.
3.2创建分支可以使用户对一些文件使用命令commit进行修改时不会影响主干.创建分支应首先为拟作修改的那些文件创建一个标签(tag).
标签是赋于一个文件或一组文件的符号.在源代码的生命周期里,组成一组模块的文件被赋于相同的标签.在工作目录中执行
~usr/teat/$cvstagrelease-1-0
标签创建后,就可以为其创建一个分支:
~usr/teat/$cvsrtag-b-rrelease-1-0release-1-0-pathprint
-b:创建分支
-rrelease-1-0:指定存在的标签
releas-1-0-patch:分支
print:模块名
使用cvsupdate-j选项可以将分支上的改变与本地文件拷贝合并.
~usr/teat/$cvsupdate-jrelease-1-0print.c
对源文件作必要修改后,可以用cvsrelease删除本地工作拷贝
并通知其他开发者这个模块不再使用.
~use/$cvsrelease-dtest
3.3冲突解决
在有多个用户对同一个文件进行修改时,如果修改了其中的相同部分,而修改后的内容如果有不同的话,出现冲突是不可避免的。
例如在CVS文件仓库中有一个文件test.c,它的版本是1.4,用户A先检出该文件进行修改,而稍后有用户B检出该文件进行修改,并提前提交成1.5,这样在用户A再提交时就会出现冲突,这时CVS会提示需要手工解决。
例如,文件仓库中的版本1.4:内容为:
#include
main()
{
inti;
for(i=0;i<100;i++)
printf(“Count:%d
”,i);
}
用户B1.5:
#include
main()
{
inti;
for(i=0;i<10;i++)
printf(“Count:%d
”,i);
printf(“Over
”);
}
用户A:
#include
main()
{
inti;
for(i=0;i<50;i++)
printf(“Count:%d
”,i);
return;
}
提交时会提示有冲突,这样需要手工编辑,这时如果用户A运行了$cvsupdate之后,再编辑test.c,会看到test.c的内容是这样的:
#include
main()
{
inti;
<<<<<<
for(i=0;i<50;i++)
=======
for(i=0;i<10;i++)
>>>>>>>1.5
printf("Count:%d
",i);
<<<<<<
return;
=======
printf("Over
");
>>>>>>>1.5
}
这样就需要,根据任务的不同,来手工修改,这是比较麻烦的,所以在真正的协作开发中,很少,对同一个文件给与,很多人相同的提交权限.
3.4文件版本管理
版本管理系统,最重要的莫过于对文件版本的管理,系统默认的版本升级使用的版本号是一定的.如果由于特殊需要,要自己定义出文件的版本号时,你可以用一下命令:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:LINUX作CVS服务器之二
下一篇:Linux网络服务器配置基础
- 如何监控 Linux 服务器状态? 2020-06-06
- php多版本:已存在php5场景下,编译安装php7,实现apache2.2 2020-06-05
- 简单安装配置samba服务器 2020-06-03
- Xshell如何配置并远程连接Linux服务器详解 2020-05-31
- ubuntu18.04.4 配置 NFS 服务器 2020-05-31
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash