Svn 使用subversion和intellij合并主干和分支

Svn 使用subversion和intellij合并主干和分支,svn,version-control,merge,intellij-idea,Svn,Version Control,Merge,Intellij Idea,我对其中一个分支做了一大堆修改。现在我正在尝试将这些更改与主干合并。为了做到这一点,我在我的机器上创建了两个名为BRANCH和TRUNK的工作文件夹。我在branch目录中做了一个branch的svn co,在trunk文件夹中做了trunk的svn co。签出完成后,我继续打开分支上所有签入的subversion历史记录。当我获得所有签入的版本号后,我进入我的TRUNK文件夹并发出以下命令: svn merge --dry-run -r1xx0:1xx1 svn+ssh://pathtomy

我对其中一个分支做了一大堆修改。现在我正在尝试将这些更改与主干合并。为了做到这一点,我在我的机器上创建了两个名为BRANCH和TRUNK的工作文件夹。我在branch目录中做了一个branch的svn co,在trunk文件夹中做了trunk的svn co。签出完成后,我继续打开分支上所有签入的subversion历史记录。当我获得所有签入的版本号后,我进入我的TRUNK文件夹并发出以下命令:

 svn merge --dry-run -r1xx0:1xx1 svn+ssh://pathtomybranch/
有趣的是,上面的命令执行时没有任何输出,这本质上表明我的分支和我的版本没有任何差异。这是不可能的,因为我尝试合并的版本的文件内容不同

有人知道这里可能出了什么问题吗


谢谢

您首先必须使用自创建分支以来对主干所做的所有更改来更新分支(如果自创建分支以来未对主干进行任何更改,则可以跳过此步骤):

然后,您可以选择两种相同的(?)方法:

1) 使用重新整合分支:

cd trunk
svn merge --reintegrate url://of/branch
或2)在两棵树之间使用“合并”:

cd trunk
svn merge url://of/trunk url://of/branch
方法2)计算两棵树“主干”和“分支”之间的差异,并将它们合并回当前目录(即主干)

方法1)只是方法2)的语法suggar


请注意,对于这两种方法,您都不必指定修订号。所有最新版本的SVN都会自动为您处理该问题。

此时分支是否仍然可用?它是否继续存在?在主干上重新整合分支后,应将其删除。关于为什么有必要这样做的详细解释,请参见bit.ly/1dAQs3A。他们还解释了如何在重新整合后使其保持活力。因此,这种保持活力的方法是安全且有意义的?我不使用这种方法(我删除并重新创建),但它听起来合理且安全。因为它写在svn的书上。。。
cd trunk
svn merge url://of/trunk url://of/branch