51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4489|回复: 5
打印 上一主题 下一主题

[原创] 分支与合并

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-22 16:22:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在51testing论坛里学习到了不少知识,其中对分支的操作不是很理解,因为以前也没用过。那么分支到底怎么实现呢,是通过在配置库里新建一个目录还是通过打tag来实现呢?没弄明白,望指教!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-5-23 10:35:25 | 只看该作者
自己动手试一下,一般分支都可以做一个branch吧

网上翻到的别人的解释

个人认为,对于svn的tag,更多的是一个显示用的,给人一个可读(readable)的标记。<br />
因为在实现上,tag和branch,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。<br />
这里也就假定,对人,操作者,对他的要求就很高了。<br />
也就是使用svn的时候,什么时候用tag,什么时候用branch,完全由人主观的根据规范来选择,而不是强制的(比如cvs)。<br />
<br />
一般,我在使用的过程中,<br />
tag是用来做一个milestone的,不管他是不是release,他都是一个可用的版本。这里,应该是只读的。<br />
branch,是用来做并行开发的,这里的并行是指和trunk进行比较。<br />
<br />
比如,3.0开发完成,这个时候要做一个tag,tag_release_3_0,然后基于这个tag做release,比如安装程序什么的。<br />
trunk进入3.1的开发,但是3.0发现了bug,那么就需要基于tag_release_3_0做一个branch,branch_bugfix_3_0,基于这个branch进行bugfix,等到bugfix结束,做一个tag,tag_release_3_0_1,然后,根据需要决定branch_bugfix_3_0是否并入trunk。<br />
<br />
对于svn还要注意的一点,就是他是全局版本好,其实这个就是一个tag的标记,所以我们经常可以看到,什么什么release,基于xxx项目的2xxxx版本。就是这个意思了。但是,他还明确的给出一个tag的概念,就是因为这个更加的可读,毕竟我记住tag_release_1_0要比记住一个很大的版本号容易的多。</div>
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-5-23 10:37:26 | 只看该作者
简单说:

trunk(开发主干,可读写)
branches(并行分支开发,一般基于某tag,可读写)
tags(发布,一般只读)
应该是个很清晰的脉络。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-5-23 10:57:02 | 只看该作者
学习
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-10-4 13:21:15 | 只看该作者
感觉CVS很不好学呀
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-10-30 12:57:35 | 只看该作者

学习

svn 中的标签定义:
                 标签:是给一组文件取的符号名称,每个都有一个特定的版本号,标签对于跟踪项目生命周期中的重要事件是相当有用的。

                 分之:代表了项目仓库历史的一个分叉

标签和分之的基本用途:
  发布分之:建议将项目的每个发布版本放到一个独立的分之中
发布:标记了项目发布的过程
bug 修正:在发布过程中,发现了bug,应该在发布分之中修正
开发人员的试验:团队中的一部分人,需要在项目的代码基础上做一些比较远的试验,可以创建一个试验分之。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-28 13:07 , Processed in 0.087203 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表