1

多年后我回到了 SVN,我正在努力解决分支/合并问题。我在 linux 机器上有以下测试设置,我正在使用命令行:

项目

  • 树干
  • 分支
  • 标签

我在 ~/workingcopy 和 ~/workingcopybranch 中有分支和主干的本地工作副本

出于测试目的,我导入了一个 SeamT​​est 项目。两个工作副本目前都处于修订版 14。所有内容都提交回存储库

这是我的差异的结果:

~/workingcopy/SeamTest $ svn diff http://localhost/svn/myproject/branches/heidisbranch/SeamTest http://localhost/svn/myproject/trunk/SeamTest
Index: WebContent/home.xhtml
===================================================================
--- WebContent/home.xhtml   (.../branches/heidisbranch/SeamTest)    (Revision 14)
+++ WebContent/home.xhtml   (.../trunk/SeamTest)    (Revision 14)
@@ -8,7 +8,6 @@
     xmlns:rich="http://richfaces.org/rich"
     template="layout/template.xhtml">
 <!-- testing -->
-<!-- adding info into branch code-->
     <ui:define name="body">

         <h1>Welcome to Seam!</h1>
Index: .
===================================================================
--- .   (.../branches/heidisbranch/SeamTest)    (Revision 14)
+++ .   (.../trunk/SeamTest)    (Revision 14)

Eigenschaftsänderungen: .
___________________________________________________________________
Added: svn:mergeinfo

如您所见,注释“将信息添加到分支代码中”在分支中,注释“测试”在主干中

然后,当我从主干工作目录执行 SVN 合并时,它似乎没有发现存在差异:

~/workingcopy/SeamTest $ svn merge http://localhost/svn/myproject/branches/heidesbranch/SeamTest http://localhost/svn/myproject/trunk/SeamTest .
-- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«:
 G   .
--- Eliding mergeinfo from '.':
 U   .
-- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«:
 G   .

我的项目的工作副本没有任何更改。任何帮助将不胜感激。

4

1 回答 1

1

交换两个参数,即以下应该适用于您的情况:

$ svn merge http://localhost/svn/myproject/trunk/SeamTest \
     http://localhost/svn/myproject/branches/heidesbranch/SeamTest .

但是:您没有提到您想要实现的目标。如果您是 SVN 初学者,那么您确实不太可能这样做。SVN 中有四种不同形式的合并操作:

  • 同步合并
  • 樱桃选择合并
  • 重新融合
  • 2-URL 合并

您正在使用最后一个,仅用于特殊情况。您通常应该使用其他更易于使用的表单。我强烈建议阅读一些关于在 SVN 中处理功能和发布分支的文档。

于 2013-04-07T12:30:13.630 回答