Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2315337
  • 博文数量: 527
  • 博客积分: 10343
  • 博客等级: 上将
  • 技术积分: 5565
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-26 23:05
文章分类

全部博文(527)

文章存档

2014年(4)

2012年(13)

2011年(19)

2010年(91)

2009年(136)

2008年(142)

2007年(80)

2006年(29)

2005年(13)

我的朋友

分类: WINDOWS

2008-05-15 15:08:41

假设讨论的分支叫
BR_feature-1
要合并一个子分支上从头(建立该分支之初)至尾(该分支上每个文件最新版本)是简单的
cvs update -j BR_feature-1 .

要得到该分支最新版本也是简单的
cvs checkout -r BR_feature-1 project

但是, 要想比较一个分支自从头至尾就做了哪些改动没有现成的办法, 因为没有办法指定一个分支的开头, 所有cvs命令接受-r 分支名 形式选项的, 都把这种形式理解为取该分支最新版本.

下面的脚本可以给一个分支的最开头处打上一个标签, 当然是普通标签. 标签名字固定为

BR_feature-1_init
即固定在原分支名前面加上_init

使用
./branch_init.sh /Repository project_dir Branch
三个参数依次是
/Repository   是仓库的名字
project_dir   是要创建分支的项目目录名, 讨论分支一般都是讨论在某个顶级目录上进行操作.

因为该脚本会在运行过程中调用cvs来checkout 指定的模块, 所以这两项是必需的, 当然CVSROOT, login是隐含的要求.

最后一项是分支名, 不要搞错, 脚本里并不检查这个.

以上方案在
(CVSNT) 2.5.01 (Travis) Build 1976 (client/server)
WinXP SP2/简单中文, cygwin 环境下测试通过.
给1500左右个文件分别assign标签, 耗时23分钟左右.

好的习惯是在开辟分支之初就建一个分支起始状态的标签, 而不是这种事后补救.

文件:branch_init.zip
大小:0KB
下载:下载

阅读(1076) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~