3

svn:externals プロパティで参照されるタグの外部依存関係を無視することは可能ですか? これは非常に奇妙な質問のように聞こえるかもしれませんが、説明させてください...

私は、個別の「プラグ可能な」コード モジュールのかなり大きなコレクションを持っており、それぞれを独立してテストし、コンパイルし、スタンドアロン プロジェクトとして開発することができます。これらのモジュールの一部は、svn:externals プロパティを介して他のモジュールに依存しています。問題は、テスト フレームワークgtestも各モジュールの依存関係であり、テスト スイート用の静的ライブラリが含まれていることです。これは、複数のプラットフォーム用にこれらの静的ライブラリを構築したため、各モジュールが少なくとも ~15Mb であることを意味します。

いずれにせよ、これは、比較的単純なプロジェクトがチェックアウト時に 200Mb 以上のディスク容量を使用する可能性があることを意味します。これは、各モジュールからの gtest の複製コピーのおかげです。私の同僚の何人かは、作業コピーの肥大化したサイズについて不満を言い始めています。各モジュールの最上位に gtest 依存関係を含め、そのコピーのみをビルドに含めるだけで、これを減らすことができればよいでしょう。

基本的に、proplist に svn:externals を設定する方法が必要ですが、「--ignore-externals」を svn co に渡すかのように、これらの依存関係のそれぞれをチェックアウトします。これは可能ですか?ない気がしますが、聞いてみる価値はあります...

4

3 に答える 3

2

まばらなチェックアウトを見ることをお勧めします。トップディレクトリのみをチェックアウトし(「このアイテムのみ」オプションを使用)、外部を取得します。次に、必要なすべてのモジュールについて、目的のディレクトリで WC を更新できますが、その外部は省略します。すべてのサブプロジェクトについて繰り返します。

gtest の依存関係をリポジトリ内の別のフォルダーに置く必要があるかもしれませんが、それでうまくいくと思います。

于 2009-04-29T18:41:35.363 に答える
0

svn に単一の依存関係をスキップさせる方法がわかりません。

しかし、これらのモジュールのタグ付きリリースを共有依存関係なしで作成することにより、別の方法でこれを解決できると思います。他の依存モジュールは、svn:externals を個別にコンパイルするブランチではなく、これらのタグに向けることができます。

単一の大規模な共有ライブラリに非常に具体的な問題があるように思われるため、これをお勧めします。もっと複雑なものは、おそらく svn:externals だけでは解決できないでしょう。

于 2009-02-27T19:04:23.663 に答える
0

Subversion 1.6.0 以降では、ディレクトリではなくファイルを参照する svn:externals を使用できます。これは役立つかもしれませんか?

于 2009-04-16T00:24:02.397 に答える