SVN合并分支时很关键的一点

关键字: SVN

在使用TortoiseSVN对Subversion进行分支合并时,Merge界面上有两个选项:From和To。这两个选项应该如何设定呢? 
对于合并的这操作,Subversion上对其有如下的解释: 

引用

迷惑的主要原因是这个命令的名称,术语“合并”不知什么原因被用来表明分支的组合,或者是其他什么神奇的数据混合,这不是事实,一个更好的名称应该是svn diff-and-apply,这是发生的所有事件:首先两个版本库树比较,然后将区别应用到本地拷贝。 

这个命令包括三个参数: 
初始的版本树(通常叫做比较的左边), 
最终的版本树(通常叫做比较的右边), 
一个接收区别的工作拷贝(通常叫做合并的目标)。 

一旦这三个参数指定以后,两个目录树将要做比较,比较结果将会作为本地修改应用到目标工作拷贝,当命令结束后,结果同你手工修改或者是使用svn add或svn delete没有什么区别,如果你喜欢这结果,你可以提交,如果不喜欢,你可以使用svn revert恢复修改。 


还有更详细的说明: 

引用

为了表示你的分支上的修改,你只需要比较分支的初始状态与最终状态,在你的分支上使用svn log命令,你可以看到你的分支在341版本建立,你的分支最终的状态用HEAD版本表示,这意味着你希望能够比较版本341和HEAD的分支目录,然后 应用这些分支的修改到主干目录的工作拷贝。 


其实使用这个功能后的过程是把To的版本和From版本进行对比,然后把之间的差异合并到当前的版本中。比如要把一个分支的修改全部给合并进来,From就应该选择主线创建了分支的那个版本,To就应该选择分支的Head版本。 

如果版本选择的不正确,比如说From选择了主线的Head版本,就会把所有分支和主线Head不同的文件都覆盖到主线上来,造成主线上修改信息的丢失。

你可能感兴趣的:(项目管理)