博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

一笑

slimzhao.cublog.cn


给CVS中branch 的开头处打标签
假设讨论的分支叫
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
下载:下载

发表于: 2008-05-15 ,修改于: 2008-05-29 18:52,已浏览166次,有评论0条 推荐 投诉


网友评论

发表评论