2012-05-02 11 views
1

私はウサギ-VCSとSVNを使用していますLinux上svn(オフラインマージ)のチェックアウトされた2つのブランチをマージするにはどうすればいいですか?

  • の下で、それはオフラインのsvnフォルダを与えるするオプションはありませんオンラインsvn url
  • に私の枝を閲覧するための唯一のオプションを示してマージ枝として。
  • 以来

、私はSVNに2つの支店オフラインマージすることが実際に可能である、 SVN にかなり新しいですか?

私は2つの支店、既にチェックアウトを持っている:

  • /home/user/branch1
  • /home/user/trunk

は、助ける私が何かを逃した場合はすべての情報についてはお気軽にしてください!

答えて

2

まず、read this。さらに良いのは、read thisです。間違いなく、マージを理解することは、SVNを正しく使用する方法を知る上で最も重要な部分です(1つは、新しいブランチを作成する前に何千回も考えています:))。

2つのコミットされたソースを作業コピーにマージすることに注意してください。つまり、ソースの1つを作業コピーとして指定しても、はそのURLをそのままマージ用ににします。これは、クライアントがサポートするかもしれないし、サポートしないかもしれない文法的な砂糖の一種です。その理由は、マージ操作では、ソースの共通の祖先を識別し、それらを変更によってマージする必要があるからです。その情報は作業コピーには存在しません。

注意ここにいくつかの可能な混乱のソース:作業コピーの引数は両方ソースを指定することができ、多くの(?ほとんど)の場合には、にマージする作業コピー)をマージします。

ここでは、S1とS2をWに結合すると仮定します。S1とWにはファイルFが含まれています.S2はそうではありません。現在、少なくとも2つの可能性があります。(1)S1とS2の共通祖先Sにファイルが含まれており、S2で削除されました。その後、マージしてWから削除する必要があります。 (2)SはFを含まず、S1に添加した。その後、FはW内にとどまるべきである.Sに関する情報は単にローカルに存在しないので、リポジトリに連絡しなければならない。

オフライン作業コピーは、svn infobranch1trunkにあります。

+0

2つのブランチをマージする 'svn'コマンドは何でしょうか(インターネット接続なし?) –

+0

「オフライン」の意味を少し混乱させてしまいました。いいえ、リポジトリをローカルにミラーリングしない限り、これを行うことはできません。私の答えを編集しました。 –

+0

[クラウド上のsvnリポジトリを使用] オフラインでマージするために必要なすべての情報が用意されているので、結構です。それで、なぜオフラインでのマージを止めるのですか? –

関連する問題