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

ご覧のとおり、「adding info into branch code」というコメントはブランチにあり、「testing」というコメントはトランクにあります。

次に、トランクの作業ディレクトリから 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

2 つの引数を交換します。つまり、次のように動作するはずです。

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

ただし、達成したいことについては言及していません。あなたが SVN の初心者である場合、それをしたいと思うことはほとんどありません。SVN には 4 つの異なる形式のマージ操作があります。

  • マージの同期
  • チェリーピックマージ
  • 再統合
  • 2-URL マージ

特別な場合のみを対象とした最後のものを使用しています。通常は、使いやすい他のフォームを使用する必要があります。また、SVN の機能およびリリース ブランチでの作業に関するドキュメントを読むことを強くお勧めします。

于 2013-04-07T12:30:13.630 に答える