質問: Subversionリポジトリの*内容*を複製するための最良の方法svnsyncまたはrsync? Subversionサーバーを中央の場所で使用している環境で作業しています。その内容は4つの異なる環境(prod、testなど)に提供される必要があります。これらの環境では、subversion機能はまったく必要ありません。 httpおよびローカルファイルシステムによってリポジトリ内に保持されているすべての/ tags /の内容にアクセスできるようにするだけです。 これを行うには、2つの方法があります。 1) subversion mirrors in all environments, updated using svnsync and then made available within each location via svn -> web_dav_svn -> davfs (FS access here) -> apache (HTTP access here) 2)中央の場所に/タグをsvnエクスポートしてから、以前にエクスポートしたファイル構造をハードリンクした後で、ファイルを他の場所に同期します。 選択肢1はいろいろな意味で「スリック」であるように見えますが(2回Apacheを通過しますが???)、それを中央の場所に戻すのではなく、実際に稼働している環境にリスクを押し下げます。これらの環境の実行には使用されていないためです。私はまた、davfsのようなかなり使い捨てで無視されるヒューズプロジェクトをプロジェクトの奥深くに入れることについても心配しています。 Rsyncは退屈で安定しています、そして私たちが望むのは私たち自身の条件の下でのファイルアクセスだけであることを見て、私たちは本当に基本的で信頼できるツールセットでそれを得ることができます。 任意の考えは本当に感謝しています。
回答: あなたの本能は正しいです。オプション1は比較的少ない利益のために多くの複雑さを導入するようです。 オプション2は、リポジトリの作業コピーを更新してからrsyncを使用してリポジトリを必要な宛先にプッシュする `post-commit` フックを使用して簡単に実装できます。リポジトリが大きい場合は、 `svn export` を使用するのではなく、ローカルの作業コピーを更新するほうがはるかに効率的です。