2010-11-29 16 views
0

特定のファイルやディレクトリをあるリポジトリから別のもの(両方のリモート)にコピーできるツールはありますか(svnsyncでこれを行うことはできますか?SVNリポジトリの一部を別のものにコピー

私は、コードライブラリの読み取り専用のリポジトリを提供したいと思いますが、そのライブラリのサブセットのみを提供し、全部ではありません。

ありがとうございました。

答えて

1

手が汚れても構わない場合は、プライベートプロジェクトのファイルをエクスポートし、svn-clean-filesを公開プロジェクトにコミットする小さなスクリプトを書くことができます。

このようにしても、公共プロジェクトでsvn diffsさえも、元のsvnの履歴と同じではないかもしれません。しかしそれは意図されていないので、それは良いです。

これはcronジョブと同じですか?

+0

パーフェクト、ありがとう!私はそれをやや違った形でやりました。最初にコピー先のレポをチェックして、ソースを作業コピーにエクスポートしてからコミットしますが、同じことが成り立ちます。 –

1

解決策としてexternals definitionsを使用することをお勧めします。コードライブラリの読み取り専用サブセットの新しいリポジトリを作成し、プロジェクトのサブフォルダにマップします。

+0

externalsプロパティへのアクセス権を持つ人は誰でもソースリポジトリにアクセスすることができます。ソースを非公開にしたい(実際にはユーザー/権限の変更はできませんが)、小さなサブセットを2番目のレポで公開することができます。 –

+0

@ Jack Sleight、あなたはどのようなアクセス許可を変更できない場合どのようにあなたの読み取り専用リポジトリへのアクセスを制限したいですか?つまり、ソリューションを見つけたとしても、誰もがあなたの「プライベート」リポジトリ内のファイルを変更することができます。 – bniwredyc

+0

私は、パブリックアクセスを持たないプライベートのものではなく、宛先/パブリック/読み取り専用のリポジトリに対してアクセス権を設定できます。 –

1

@ initallの解決策は実行可能ですが、私はsvnsyncを使用して自分自身の提案したように履歴情報などを失うでしょう。

1.5 svnsyncはソースリポジトリのサブツリーだけを同期することができるので、より洗練されたソリューションであり、各リポジトリごとに異なるアクセス権を持つことができます。詳細については、svnマニュアルのrepository replicationセクションを参照してください。

+0

+1 initallが提案しているハックよりも純粋なSubversionソリューションです。 – jgifford25

関連する問題