6

私たちは、約 1 年間、オフィスで DIY SVN サーバーを使用しています。ホーム サーバーにインストールされた SVN を使用した簡単なセットアップです。私たちは tortoise SVN を使ってそれにアクセスしています バージョン管理システムについて何年も前に学べばよかったのに.. とにかく、もちろん、サーバーへのアクセスはオフィスでは 1Gbps LAN で完璧ですが、外では使えますが貧弱です。弊社ADSL回線のWebへのアップロード速度は毎秒50kバイトです。これはいつか「無限」で改善されるかもしれませんが、待っていると死ぬかもしれません.

アクセスがはるかに高速な「並列」リポジトリをホストしたいと思います。これにより、追加のバックアップも得られます。私のレポは 40G 弱なので、100G の制限で問題ありません。これを行う方法と、2 つをミラーとして作成して、コミット (少なくとも小さい) が両方でほぼすぐに見えるようにする方法はありますか? 私はすでに Svnbackup コマンドを使用してサーバー上に並列ミラーを作成していますが、これは両方の方法で機能しますか?

提案や代替案をいただければ幸いです。

ティア・ブライアン

4

3 に答える 3

2

読み取り専用サーバーが必要ですか、それとも複数のサーバーへの読み取りと書き込みのアクセスが必要ですか? 読み取り専用ミラーのみが必要な場合は、svnsync を使用してオフィス サーバーをミラー サーバーに複製できます。

別の場所からコミットしたい場合は、svn の非同期クライアントとして使用できる hg+hgsubversion や git-svn などの分散ツールを調べてください。

于 2011-02-05T09:58:08.460 に答える
1

本当に必要なのはスレーブ プロキシだと思います。これは、読み取り専用アクセス用の Subversion サーバーのコピーです。(それに) 書き込むと、コミットはマスターに直接渡されます。書くよりも読むことが多いので、これはあなたが望むものを達成するためのシンプルだが効果的な方法を提供します.

ウェブ上にはたくさんのチュートリアルがありますが、それらはすべて (svnserve ではなく) http アクセスを使用して subversion を実行する必要があります。優れた svnsync と post-commit フックにより、スレーブは最新の状態に保たれます。

于 2011-02-26T01:49:30.390 に答える
0

標準の Linux SVN サーバーには、イベントで独自のスクリプトを実行できるフックがあります。post-commit フックを使用できます (「post-commit」という名前のスクリプトを「hooks」ディレクトリに配置するだけです)。

これで、リポジトリ全体のホットコピーを発行することができます。これはセットアップが比較的簡単で ( svnadmin hotcopy from to)、ssh などを使用してインターネット上の他のホストにリポジトリをコピーできます。両方のマシンでこれを行うことができ、問題ありません。

欠点:

  • リポジトリが大きい場合、これには多くの時間がかかります
  • 誰かが 1 つのリポジトリにコミットし、他の誰かが別のリポジトリに同時にコミットする可能性があることに注意してください。これにより、すべてが破損する可能性があります。これが起こらないことを確認するか、リポジトリをロックする方法を見つける必要があります(コピープロセス中にsvnをシャットダウンするなど)
  • 両方のマシンへのシェル アクセスが必要です

リポジトリをローカル ファイルに保存し、差分のみを他のマシンに送信することで処理を高速化できる場合があります。

于 2011-02-05T10:01:59.513 に答える