Svn 使用Subversion将标记合并到主干中

Svn 使用Subversion将标记合并到主干中,svn,version-control,Svn,Version Control,我有以下文件夹结构: \myproject\Branchs\v1.2 \myproject\trunk 我需要将v1.2合并回主干。v1.2有修订版104和105。主干从57-65和106开始。106修订版正在删除v1.2文件夹中不存在的文件夹 我的设置是基于文件的。我在后备箱里试过这个: MacBook:trunk myuser$svn合并-r104:105“file:///Developer/Main%20Repository/myproject/branches/v1.2" 我有三个冲突并

我有以下文件夹结构:

\myproject\Branchs\v1.2

\myproject\trunk

我需要将v1.2合并回主干。v1.2有修订版104和105。主干从57-65和106开始。106修订版正在删除v1.2文件夹中不存在的文件夹

我的设置是基于文件的。我在后备箱里试过这个:

MacBook:trunk myuser$svn合并-r104:105“file:///Developer/Main%20Repository/myproject/branches/v1.2"

我有三个冲突并解决了它们。但是,我看不到主干中有任何文件已更新。我是否需要执行其他/不同的操作来完成合并

--编辑--

我确实想将整个tag\v1.2分支合并到主干中。所以我跑了:

svn merge "file:///Developer/Main%20Repository/myproject/branches/v1.2"

解决了更多的冲突。我有没有办法确定这两个分支现在是否相同?通过进行一些文件比较,我可以看出这两个分支之间仍然存在明显的差异,这意味着合并不起作用。

在看到主干中的更改之前,您需要
svn commit


svn merge
操作更改您的工作副本。您已经解决了冲突,很好,(我假设您也为它们运行了
svn resolved
),现在剩下的就是使用
svn commit

将您的工作提交到存储库,您确定r104是您创建1.2分支的地方吗?您可以通过以下方式进行验证:

svn log --stop-on-copy file:///path/to/branch
然后您需要使用该修订范围

编辑

好的,这就是通常的情况。。。假设您希望分支中的所有更改,并且分支是在r104中创建的

cd path/to/trunk/checkout
svn merge -r 104:HEAD file:///path/to/branch
这会将分支中所做的更改合并到主干的本地副本。您现在需要解决所有冲突(如果有)。此时,如果您执行以下操作:

svn stat
您应该只看到标记为MA或X的文件和目录(如果有外部文件)。现在,为了使合并位于存储库的主干中,您需要执行以下操作:

svn commit -m "my commit comment"

您遇到的问题是,您正确地执行了前几个步骤,但没有提交合并的更改,而是尝试再次合并。所以现在你们的行李箱里可能有点疯狂了。您可能需要还原到最后一个好的副本,然后再次合并并提交。

您告诉Subversion的是合并在104和105修订版之间的分支中所做的更改;您已跳过r104中所做的更改

试一试

svn合并-c 104105file:///Developer/Main%20Repository/myproject/branches/v1.2
并确保您有trunk的工作副本。

我在尝试合并之前进行了提交。当我运行上面的命令行时,它会快速返回到提示符,就好像什么都没有发生一样。检查主干,我可以看到没有发生合并。“我在尝试合并之前进行了提交”-这没有意义。。。合并,然后提交。你能在你的问题中提供更多的细节吗?我不知道到目前为止你到底做了什么。我试图将v1.2合并到主干中,解决了冲突,但没有提交。然后再次尝试将v1.2合并到主干中。不行。因此,我提交了主干更改,然后合并了v1.2,这就成功了。我对问题进行了编辑,以反映我现在的处境。我将在下一轮尝试,因为在时间方面,我删除了主干内容,将v1.2复制到主干中并提交。大锤子,但天哪!祝你下次好运。 svn merge -c 104,105 file:///Developer/Main%20Repository/myproject/branches/v1.2