web-dev-qa-db-ja.com

Tortoisesvn Subversion 1.8-マージ-ブランチオプションの再統合は不要

TortoiseSvn 1.8には、ブランチオプションの「再統合」はありません。 Tortoise Svn 1.8でブランチを再統合する正しい方法は何ですか?

マージを選択してから、次のオプション: Merge first step

次に、次のウィンドウが表示されます。 enter image description here

それとも私は何か他のことを間違っていますか?

64
Jernej Novak

ブランチをターゲットにマージするだけです

編集

OK、拡張回答:写真の「ダミーを結合」

序文

OK、使用済みの試験場を隠したり隠したりしません。

このサンプルリソースで使用されます。

Repo Graph

  • ローカルディレクトリz:\WC-Trunk(処理中に使用されるトランクのWC)
  • TortoiseSVN 1.8.1、ビルド24570-32ビット

再現手順

ブランチをトランクにマージするには、トランクの作業用コピーが必要です。したがって、トランクのHEAD WC-Trunkにチェックアウトしました

z:\WC-Trunk>svn ls
Dr?p?r.ma?ar.sv?nskan.man.eller.smalensk?n.txt
Hello.de.txt
Hello.en.txt
Hello.eo.txt
Hello.fr.txt

トイレが必要です

z:\WC-Trunk>svn info
Path: .
Working Copy Root Path: Z:\WC-Trunk
URL: http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk
Relative URL: ^/trunk
...

マージを開始

Start

「範囲をマージ」を選択します。「この方法は、ブランチ(またはトランク)に1つ以上のリビジョンを作成し、それらの変更を別のブランチに移植する場合を対象としています」

Merge type

定義されていない場合はすべてのリビジョンを選択し、リポジトリ(ツリーのフランス語ブランチ)にマージする必要があるリポジトリのツリーへのパス

Merge Options

必要に応じて追加のマージオプションを定義し、検出するためにマージをテストできます。任意の形式で必要な競合解決になります。または、実際のマージプロセスを開始します

Options 2

40
Lazy Badger

Subversion 1.8で--reintegrateオプションが廃止されたため、TortoiseSVNには含まれなくなりました。 Subversion 1.8には、自動再統合の処理/検出があります。

参照: Subversion 1.8リリースノート 、特に 自動再統合セクション

便宜上、関連する領域は次のとおりです。

自動再統合マージ(--reintegrateオプションは廃止予定)

別のブランチからのすべての適格なリビジョンをマージするマージ中、Subversion 1.8はマージがブランチを再統合するかどうかを自動的に決定します。したがって、ブランチを再統合する場合、正しい操作のために--reintegrateオプションは必要なくなりました。

Svn mergeの--reintegrateオプションは廃止され、その使用は推奨されません。ブランチを再統合するには、トランクのクリーンな作業コピーを用意し、その最上位ディレクトリで次のコマンドを実行します。

$ svn merge ^/branches/my-branch

このマージは、以前のリリースで実行されたsvn merge --reintegrateと同様の健全性チェックを引き続き実行します。

  • 作業コピーは、混合リビジョンの作業コピーであってはなりません。
  • 作業コピーには、切り替えられたサブツリーがあってはなりません。
  • 再統合ターゲット(トランクなど)から再統合ソースにマージされたリビジョン範囲にギャップがあってはなりません。
    (つまり、再統合するブランチ)。

これらの条件のいずれかが検出された場合、マージは中止され、ブランチを再統合する前に問題を解決するために必要な手順を実行する必要があります。 --reintegrateマージとは対照的に、ローカルで変更した作業コピーへの自動再統合マージが許可されます。

自動再統合マージを使用して、2つのブランチ間を任意の順序でマージできます(「キープアライブダンス」は不要になります)。最良の結果を得るには、すべての適格なリビジョンを常にマージすること、つまり、svn mergeの-rまたは-cオプションを使用しないことをお勧めします。適格なリビジョンのサブセットのみをマージすると、将来のマージ中に問題が発生する可能性が高くなります。

Subversion 1.8で--reintegrateを使用すると、特定の状況で実行するのに適切なマージであるかどうかにかかわらず、再統合のマージが強制されます。

あなたの場合、次のことを行う必要があります

  1. 通常どおり、クリーンで変更のない最新のトランク作業コピーを使用していることを確認してください
  2. TortoiseSVN->この作業コピーのルートにマージ
  3. [リビジョンの範囲をマージ]を選択します
  4. 再統合するブランチを選択します
  5. リビジョン範囲を指定しないでください(すべての適格なリビジョンをマージするため)
  6. Subversion 1.8は再統合を自動検出し、同じ安全性チェックを実行する必要があります
  7. 通常どおりマージを続行します

互換性テーブルによると、Subversionサーバーとリポジトリの形式がそれぞれバージョン1.5以降である限り、Subversion 1.8クライアントはこの自動再統合を実行できます。

私はまだ自動再統合を行っていません。リリースノートを消しています。

71
Joshua McKinnon

コンテキストメニューを開いているときにShiftキーを押すと、非表示のオプションが表示されます。メニューにはTortoiseSVN/Merge reintegrate...があります。

ただし、新しいAutomatic reintegration mergeを使用する必要があります

14
Krystian Bigaj