2011-08-11 13 views
1

これは問題です。私たちはプロジェクトを持っています。プロジェクトは1つのSVNリポジトリから始まりました。http://svn1/prj2つの別々のブランチをマージするsvn

プロジェクトの標準構造、ブランチ、タグ、トランクがあります。今、私たちは、ネットワークにアクセスできない他の人にいくつかの仕事を与えなければなりませんでした。したがって、私たちはネットワークの外にあるサーバーに別のsvn instanteをインストールしました。私たちはsvnadmin dumpとsvnadminを新しいリポジトリにロードし、ブランチでそれらにアクセスを与えました。だから我々は持っているhttp://svn2/prj

今私たちは、svn2のブランチをsvn1のトランクに統合したいと思う。だから私たちはいくつかの可能性を研究しましたが、私たちは今すぐになっているようです。だから、物事は、我々はtryiedています

  • をsvn2をダンプし、svn1上で、それをインポートする:svnadminはダンプを、管理者の負荷
  • asvn我々はsvn2からローカルコピーのsvnadminは輸入をしているベンダーブランチのいくつかの並べ替えを行うにはtyied。このブランチとトランクでsvnをマージしたときに何も起こらなかった
  • マシン上に別のsvnを作成し、svn2リポジトリをエクスポートしてsvn3リポジトリにインポートしました。良くない。
  • 私たちはsvn:externalsの使用を試しました。私たちのブランチのディレクトリをsv2のブランチにリンクしてからsvnマージを行いました。大丈夫ですか?

これ以上オプションはありません。私たちは現在、gitが私たちの問題をもっと助けてくれるかどうかを調べるためにgitを見ています。

Thx。

+0

私の最初の考えは「開発者がオフラインで作業している/ネットワークから外れているので、Gitはこれには良いだろう! ...私は一番下まで読んで、あなたはGitを評価していると言った。良い動き:)私は私の仕事で過去3年間Svnを使用してきましたが、ほとんど毎月マージンの悪夢で終わります。 – CodingWithSpike

+0

だから、gitを使ってこの問題を解決しましたか? –

+0

さて、Gitの状況にはまったく適していないかもしれませんが、その特徴の1つは、ネットワークに接続している間に開発マシンにレポを一度クローンしておけば、そのマシンをオフラインにしてブランチとコミットが可能な場合、マージ準備ができたら、開発マシンをネットワークに一時的に再接続してコミットをマージすることができます。これは、おそらく月に一度来る遠隔または契約の開発者がいて、オフィスにいる間に自分のコミットを同期することができます。 – CodingWithSpike

答えて

0

どうすればthisのようになりますか?

両方のプロジェクトを同じSVNリポジトリに取得したら、共通の親リビジョンを共有しないため、svn merge --ignore-ancestryを使用してプロジェクトをマージできます。

+0

これを試しました。ブランチレポジトリにdorectoryを作成し、そこにダンプをインポートしました。何も起こらなかった。何もインポートされませんでした。 –

+0

たぶん私はあなたを正しく理解していませんでした。だから、ダンプファイルを私のリポジトリのディレクトリにインポートして、ブランチと言ってマージをしましょう。これがそうであれば、私たちはこれを試して、期待通りに動かなかった。 –

+0

どちらがそれですか?何もインポートされていないか、マージが機能しませんでしたか? –

関連する問題