2011-12-30 8 views
0

私は、FastMMのようなオープンソースライブラリを使用しています。あなた自身のSVNでオープンソースのSVNプロジェクトを管理する方法

は私がhttps://fastmm.svn.sourceforge.net/svnroot/fastmm

からそれをチェックアウトして、自分のSVNサーバーに追加したいhttps://project.svn.company.com/

しかし、ファイルが既にhttps://fastmm.svn.sourceforge.net/svnroot/fastmmからチェックアウトされているためにそれらを追加する方法はありません、私の独自のSVN。

私は両方を持っているしたいと思います:

  1. 私は私のSVN https://project.svn.company.com/

  2. で私のコンパイルに必要なファイルを簡単にhttps://fastmm.svn.sourceforge.net

  3. からオープンソースのライブラリを更新する能力を持っています

これに対処するための推奨方法は何ですか?

P.S.サーバーはSVNで、クライアントはTortoiseSVN

答えて

2

あなたの更新時に他のSubversionリポジトリを自動的に更新する外部依存関係を使用することができます。エクスプローラで

、右のあなたのSubversion作業コピーのフォルダをクリックし、TortoiseSVNのを選ぶには>:

亀との簡単なチュートリアルを(これはTortoiseSVNの1.7であるが、このプロセスは、TortoiseSVNの以前のバージョンと非常によく似ています)プロパティ

は見た目

は、あなたがそれは、リポジトリのURL、およびリビジョンにチェックアウトしたいローカルパスに入れて、新しい外部の追加>新しい選択します。

巨大なダイアログを閉じてから、リポジトリを更新してください。すべてが正しく設定されている場合は、ローカルリポジトリとリンク先の他のリポジトリ。更新を行う前に、プロパティの変更をコミットする必要があります。

上記のような方法でいつでも外部の修正/削除が可能です(新規を選択するのではなく、編集/削除を選択してください)。

+0

この方法は、他のリポジトリへの「ローカル」変更もサポートしていますか?つまり、外部プロジェクトのファイルを変更すると、メインプロジェクトリポジトリにコミットされますか?そして上流からのマージを処理するメソッドを提供していますか?私は決してTortoiseを使用したことはありませんでしたが、コマンドラインやEclipseクライアントを使用することはありませんでした。 – redShadow

+0

はい、通常のリポジトリのように外部リポジトリを変更することができますあなたがコミットする権限を持っているならば、あなたはできます)。あなたはただ一つのレポが他のレポに依存しているとSVNに伝えています。外観は亀にとって独特のものではなく、SVNの機能です。 – helloworld922

+0

ええ、(もし私が正しく理解していれば)リクエストは "ローカルのリポジトリにリモートからのソースへの変更をコミットせずに"コミットされたものです。gitではこれを行うことができ、上流に "フォーク" SVNで私はそれを行うための直接的な方法を知らない(それはgitの美しさだ... :)) – redShadow

0

AFAIKですが、これを行う方法はありません。唯一の方法は、手動でファイルをエクスポートし+ライブラリの新しいバージョンをマージすることです。

checkoutの代わりにexportコマンドを使用する必要があるためには、情報を保存せずにリポジトリからファイルをエクスポートします。

(あるいは、.svnという名前のすべてのディレクトリをライブラリのソースツリーから削除するだけで済みます)。

次に、ツールを使用して、チェックアウトされたライブラリソースをローカルバージョンと手動でマージします。

関連する問題