posts - 297,  comments - 15,  trackbacks - 0
CVS中为一个模块创建一个分支使用的命令是tag或rtag。这两个命令很相似,先用tag命令来做介绍。
假设有一个模块foo_ware,一直在head主分支里工作,但是现在需要建立一个分支foo_tag用来做测试版本的开发,则方法如下:
     在foo_ware的一个工作目录下,执行: cvs tag foo_tag
把服务器上的当前工作目录下的所有文件增加标记foo_tag cvs update -r foo_tag
如果要在当前目录的foo_tag分支下继续工作,则要把当前目录下的文件状态都更新为foo_tag分支,这是因为tag命令只为服务器上的文件增加标记foo_tag,而不改变当前目录下文件的状态。
cvs commit //如果当前目录下的文件在做分支之前已经修改过了,而且又想把这些修改应用于foo_tag分支,则要commit。
如果要从服务器上签出另外一个foo_tag分支的副本,则用如下命令:
cvs co -r foo_tag -d new_dir foo_ware
    必须要指明要签出的分支是foo_tag,否则签出的版本还会是head主分支。 这样签出之后,不论再update和commit,都是在foo_tag分支下进行了,不会更改head主分支里的状态。
tag和rtag的区别在于,rtag不需要有本地副本的存在,就可以增加或修改服务器模块上的tag,而tag必须有一个本地版本做参考,更新服务器上的对应于本地的那些文件,如上例所示。
如果要把分支版本里的修改合并到主分支里,方法如下:
    在分之版本的本地副本做好commit之后,在主分支的本地副本下,执行:
    cvs update -j foo_tag //把foo_tag分支的修改合并到本地的主版本下
    cvs commit 把合并后的版本更新到服务器的主版本上,因为之前的update -j命令并不影响服务器上的主版本。

转自 http://www.cppblog.com/prayer/archive/2009/05/18/83256.html
posted on 2009-12-06 01:16 chatler 阅读(221) 评论(0)  编辑 收藏 引用 所属分类: cvs

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(10)

随笔分类(307)

随笔档案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感觉这个博客还是不错,虽然做的东西和我不大相关,觉得看看还是有好处的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新评论

阅读排行榜

评论排行榜