まず、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 info
のbranch1
とtrunk
にあります。
2つのブランチをマージする 'svn'コマンドは何でしょうか(インターネット接続なし?) –
「オフライン」の意味を少し混乱させてしまいました。いいえ、リポジトリをローカルにミラーリングしない限り、これを行うことはできません。私の答えを編集しました。 –
[クラウド上のsvnリポジトリを使用] オフラインでマージするために必要なすべての情報が用意されているので、結構です。それで、なぜオフラインでのマージを止めるのですか? –