代码改变世界

svn merge操作

2019-07-11 09:29  youxin  阅读(1332)  评论(0编辑  收藏  举报

使用SVN做Merge操作时,会包含6个选项,下面就这6个选项给出详细的说明:

1.Merge a range of revisions

此类型应用最为广泛,主要是把源分支中的修改合并到目标分支上来。

合并的源URL填写的是要合并的源分支的URL,待合并的版本范围如果为空,则指的是合并分支上所有的版本,即自从分支创建以来到分支当前最新版本的所有演变。如果只是选择其中一个版本,或者几个版本,那么就表示只是将指定的n个版本的变化合并到主干上。如果只是选择其中一个版本,那么表示只是选择那个版本的修改,之前或之后的修改将不被采纳

 

2、Reintegrate a branch

    可以理解为是第一种合并类型的一种特例,即把源分支上的修改直接覆盖目标分支上的相应文件。一般常用于执行完从主干到分支的合并后,再从分支合并回主干。假设前提是主干上尚未进行新的修改。合并的结果将使得分支和主干一模一样,从而可以删除分支。

 

3、change-set based merge (需要下载Collabnet软件)

 

 

4. Merge two different trees

此类型与前两种类型不同,第一种类型可以选择源分支合并的版本,目标分支不能选择版本;第二种类型是源分支和目标分支都不能选择合并的版本;而这种类型则是无论是源分支还是目标分支都可以选择合并的版本,即可以选择过去的一个目标分支版本与源分支的某个版本进行合并。合并的时候以选择的源分支版本为主,如果选择的目标分支版本与源分支版本有不同的地方,合并时目标分支部分将被放弃。

起始URL:选择目标分支目录的URL(应当和当前工作副本的URL一致,这个是所谓的合并点)

结束URL:选择要合并的源分支的URL。

起始和结束的版本:一般起始版本应当找到最后一次同步时的版本,如果从没有同步过(第一次合并),则选择创建分支时的版本,结束版本一般是最新版本,如果你不想将某些内容合并进主干的话,也可以选择一个合并点。

参看http://wenku.baidu.com/view/6d489348cf84b9d528ea7a56.html

5.Manually record merge information    (手工指定不需要合并的修改)

6.Manually remove merge information    (手工指定要合并的修改)
---------------------

http://blog.sina.com.cn/s/blog_13cc013b50102wk5m.html