13

簡単な問題のようです:

  • ファイアウォール内に SVN リポジトリがあります。
  • ファイアウォールの外側に SVN リポジトリがあります。
  • ファイアウォールの内側と外側にユーザ​​ーがいます。(VPNはオプションではありません:(それは簡単すぎるでしょう)
  • ファイアウォール内のマシンは、外側の SVN サーバーと通信できます。しかし、その逆ではありません。
  • 外部の SVN は一時的なものです。メイン リポジトリは常に内部にあります。

どういうわけか(おそらく内部から)すべての変更を一方に適用し、それらを他方に適用したいと考えています。およびその逆。単純に聞こえますが、好きな GIT でこれができると思いますが、SVN を使用しています。

誰かがこれをしましたか?手動のプロセスであることは気にしません。外部の人は数人しかいないので、1 日に 2、3 回更新する必要はありません。

私はapache.orgがこれを行っていると信じていますが、彼らがこれを行う方法に関するドキュメントを見つけることができません. それを行う製品がいくつかあります(まあ、1つ)が、それらなしでそれを行うためのきれいできれいな方法があるかどうか知りたいです. svnsync はこれを行いますが、一方向 (マスター-スレーブ) のみです。

Windows、Linux、または Mac で実行できることをうれしく思います。ただし、Windows と Mac が推奨されます。

ヘルプ!:) :)

[更新] 12 か月間いじり回した後 (そして最終的にはこれを必要としなくなりました)、正しい答えは、私の意見では正しいです。git を使用 - SVN-A からプルする 1 つのリポジトリを用意してから、新しい git リポジトリにプッシュし、そこから SVN-B にプッシュします。動作するはずです:)

4

8 に答える 8

6

SVKまたはgit-svnをお勧めします。

これらは両方とも、svn リポジトリの外部ミラーを作成し、外部開発者が外部ミラーに直接コミットできるようにします。次に、この外部ミラーから変更をプルして、内部マスター リポジトリにプッシュできます。

git-svn では、(私が思うに) 外部開発者は git を使用する必要があります。私はそれを好みますが、これを他の人に押し付けるのは気が進まないでしょう。

ただし、SVK を使用すると、外部の開発者は引き続き svn を使用できます。内部リポジトリは内部でしかアクセスできないため、内部アカウントまたはユーザーが定期的な同期を処理する必要があります (cron ジョブはおそらく機能します)。

SVK wiki の拡張されたハウツーは次のとおりです: UsingSVKAsARepositoryMirroringSystem

于 2008-09-29T13:55:44.080 に答える
3

VisualSVN Server の Enterprise Edition の機能の 1 つは、探しているものを正確に実行するマルチサイト リポジトリ レプリケーションです。

この機能は、地理的に分散したサイト間で透過的な Subversion リポジトリのレプリケーションを可能にするように設計された VisualSVN 分散ファイル システム (VDFS) テクノロジに基づいています。VDFS の注目すべき機能の一部:

  • すべての分散 VDFS Subversion リポジトリは書き込み可能です。
  • VDFS は、透過的な双方向データ レプリケーションを可能にします。
  • VDFS は、安全な SSL/TLS 暗号化を使用した統合 Windows 認証 (NTLM/Negotiate) などのレプリケーション承認規則と高度な認証メカニズムをサポートしています。
  • すべての VDFS リポジトリには同じデータセットが含まれています。
  • VDFS を使用した WAN 経由のリポジトリ レプリケーションは、ライトスルー プロキシに基づくレプリケーションよりも最大 10 倍高速です。
  • VDFS の構成は、複雑な手順なしでグラフィカル インターフェイスを介して実行されます。

VDFS は、FSFS の fs タイプのバックエンドで Subversion リポジトリを複製するのにより適しているため、マスター/マスター複製モデルよりも大きな利点がある従来のマスター/スレーブ複製モデルに従うことに注意してください。VDFS テクノロジーは、SVN のマスター マスター レプリケーション ソリューションよりもはるかに信頼性が高くなります。

マルチサイト Apache SVN リポジトリ用の VDFS 構成インターフェース

于 2015-02-11T16:05:28.143 に答える
3

通常は単純さが最善の方法であり、すでに単純な解決策があるように思えます: ファイアウォールの外側で SVN リポジトリを使用します。

ファイアウォール内のマシンはそれに到達でき、明らかに外部のマシンもそれに到達できるとすでに言っています...それで、ファイアウォール内の2番目のSVNリポジトリにどのような正当性がありますか? ただのバックアップなら、外側のものだけバックアップしておきましょう。

要件の一部が不足している場合はお知らせください。

別の考え...内部と外部の両方のSVNインスタンスがある場合...異なる目的で、両方が同時に同じチェンジリストIDを発行するのを止めるにはどうすればよいですか? 分散型ソリューションを探している場合は、SVN ではなくGITを検討する必要があります。

于 2008-09-29T13:26:39.983 に答える
1

うーん... 2 つのリポジトリを互いに同期させることは簡単ではないと思います。基本的にSVNをMercurialまたはGitに変える必要があります。

于 2008-09-29T13:38:38.693 に答える
0

最もシームレスでスケーラブルなソリューションは、Subversion ブック ( http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpd) で説明されている svnsync を使用したマスター/スレーブ レプリケーションです。 extra.writethruproxy

于 2011-08-03T19:03:34.323 に答える
-1

If you are searching step by step explanation about master/slave replication using svnsync, please follow http://lasanthals.blogspot.com/2012/09/main-steps-of-configuring-svn_4.html

于 2012-09-16T07:17:36.517 に答える
-1

http://wandisco.com/subversion/multisite/

Subversion MultiSite は、WANdisco 独自の複製技術を活用して、ワイド エリア ネットワーク (WAN) 経由で接続された Subversion リポジトリを即座に同期します。すべての場所のユーザーは、読み取り操作と書き込み操作の両方で、ローカル エリア ネットワーク (LAN) の速度パフォーマンスを体験します。Subversion MultiSite は、継続的なホット バックアップと障害復旧を自動化する自己回復機能も提供するため、ダウンタイムは事実上なくなります。

于 2009-09-24T19:44:59.410 に答える
-1

試してみることができることの 1 つは、リポジトリをファイル レベルで複製することです。同様のシナリオでFolderShare ( http://www.foldershare.com - Windows および Mac で実行) を使用していますが、バックアップ目的でのみ複製しており、SVN を使用してレプリカに接続しようとはしていません。

于 2008-09-29T13:27:43.710 に答える