专家提醒:SVN合并时应注意的关键问题
本节向大家简单介绍一下SVN分支与合并方面的知识,主要有SVN合并结构介绍以及SVN合并分支时应该注意的一些问题,希望通过本节的学习大家对SVN合并相关知识有一定的认识。首先看一下SVN合并的介绍。
SVN合并
合并包含两点,首先两个版本库树比较,然后将区别应用到本地拷贝。
这个命令包括三个参数: 初始的版本树(通常叫做比较的左边), 最终的版本树(通常叫做比较的右边), 一个接收区别的目标拷贝(通常叫做合并的目标)。
一旦这三个参数指定以后,两个目录树将要做比较,比较结果将会作为本地修改应用到目标工作拷贝,当命令结束后,结果同你手工修改或者是使用svn add或svn delete没有什么区别,如果你喜欢这结果,你可以提交,如果不喜欢,你可以使用svn revert恢复修改。
合并的工作是把主线或者分支上合并范围内的所有改动列出,并对比当前副本的内容,由合并者手工修改冲突。如果当前工作副本是主线的,则合并的范围是分支上的改动,如果工作副本是分支的,则合并范围是主线上的改动
(1)主干合并到分支
如果是需要将主线的改动SVN合并到分支上,需要在分支的工作副本下进行合并,合并的范围是需要从主线上上次合并的版本到当前主线上最新的版本,如果主线和分支都修改了相同的文件,合并后会出现冲突,然后解决冲突,如果主线修改但是分支没有修改,则主线上合并的变更内容会增加到当前副本中,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号
(2)分支合并到主干
如果是需要将分支的改动合并到主线上,需要在主线的工作副本下进行合并,合并的范围是需要从分支上上次合并的版本到当前分支上最新的版本,合并后会出现冲突(冲突的前提如上种情况),然后解决冲突,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号
SVN合并分支时很关键的一点
在使用TortoiseSVN对Subversion进行分支合并时,Merge界面上有两个选项:From和To。这两个选项应该如何设定呢?
对于合并的这操作,Subversion上对其有如下的解释:
引用
迷惑的主要原因是这个命令的名称,术语“合并”不知什么原因被用来表明分支的组合,或者是其他什么神奇的数据混合,这不是事实,一个更好的名称应该是svndiff-and-apply,这是发生的所有事件:首先两个版本库树比较,然后将区别应用到本地拷贝。
这个命令包括三个参数:
初始的版本树(通常叫做比较的左边),
最终的版本树(通常叫做比较的右边),
一个接收区别的工作拷贝(通常叫做合并的目标)。
一旦这三个参数指定以后,两个目录树将要做比较,比较结果将会作为本地修改应用到目标工作拷贝,当命令结束后,结果同你手工修改或者是使用svnadd或svndelete没有什么区别,如果你喜欢这结果,你可以提交,如果不喜欢,你可以使用svnrevert恢复修改。还有更详细的说明:
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf