ターゲット タグとブランチを失うことなく、SVN リポジトリを定期的にコピーするにはどうすればよいですか?

ターゲット タグとブランチを失うことなく、SVN リポジトリを定期的にコピーするにはどうすればよいですか?

タグ/ブランチ戦略を実装できるように、完全なリポジトリをダウンロード (エクスポート、チェックアウト) し、すべてのコミット メッセージとともに別のリポジトリに定期的にインポートしたいと考えています。

背景:私たちの請負業者はトランクにコミットするだけで、拒否する(技術的な話を続けましょう) 新しいライブラリごとにバージョン管理するためのタグを作成します (変更管理に対応できるようにします)。

そのため、私たちは毎日彼らのライブラリをトランクにインポートし、ポリシーに従ってタグとブランチを作成したいと考えています。

これまでにこのようなことが起こった人はいますか?

答え1

SOの質問には多くの妥当な解決策がある2つのSubversionリポジトリを同期する方法

あなたに当てはまると思われるオプションは、SVKこれは基本的に svn の分散バージョンです。

答え2

かなり型破りではありますが、私はあなたを信じていますすべきの助けを借りてこれを行うことができますsvnadmin

請負業者のリポジトリでは、以下を実行できます。

svnadmin dump --incremental -r <LOWER REVISION>:<UPPER REVISION> /path/to/bad_repo > dumpfile

次にリポジトリで:

svnadmin load --parent contractors_stuff/ /path/to/your/repository < dumpfile

これにより、請負業者のリポジトリからcontractors_stuff実際のリポジトリのディレクトリにリビジョンが段階的に追加されます。前述したように、理論上は動作するはずですが、これは明らかにこの機能の本来の使用目的ではありません。まずは非本番システムでテストを行う必要があり、実際のリポジトリのその部分に変更を加えるとおそらく機能しなくなります。

理想的には、請負業者に行動をまとめて法律を制定するように指示します。

別の技術的な解決策としては、この種のワークフローをより適切にサポートする Mercurial、Git、その他の DCVS などの別のバージョン管理システムを使用することです。

関連情報