0

さまざまなプラットフォーム (Win、OSX、Linux、Iphone、Android) でソフトウェアをコンパイルするために使用される SVN ツリーがあります。

物事をシンプルかつクリーンに保つために、すべてのアプリケーションにまったく同じツリーを使用します。

これはうまく機能しますが、プラットフォームごとにすべての依存関係をチェックアウトする必要があるため、チェックアウト時間が問題になり始めています (依存関係はネストされたサブフォルダーにあります)。

チェックアウトを実行しているプラ​​ットフォームに応じて、一部のフォルダーを無視するように SVN を構成することは可能ですか?

私たちが持っているいくつかのアイデア:

  1. ツリーの一部を除外するすべてのプラットフォーム クライアントで異なる構成のグローバルな無視パターンを使用します。欠点: 実際に必要なものを除外しない単一のパターンを作成するには、ツリーを変更する必要があります。現在はありません:(
  2. svn:ignore タグの使用: これはプラットフォームに依存しないと思います。それをできる?
  3. プラットフォームごとに異なるルート フォルダーを用意し、「externals」を使用して必要なものだけをリンクします (これは維持するのに多くの作業が必要です)。

誰もこれを経験していますか?

ありがとう!

4

1 に答える 1

2

svn co --depthandを使用しsvn --set-depthて、チェックアウトしたくないものを回避できます。各ディレクトリを指定するのは少し面倒かもしれませんが、作業ディレクトリのルートにシェルとバッチ スクリプトを配置すると、この作業に役立ちます。

C> svn co --depth immediates %URL% mydir
C> cd my dir
C> helpcheckout.bat
Checking out tree for Windows...
[...]

$ svn co --depth immediates $URL mydir
$ helpcheckout.sh --platform linux
$ Checking out tree for Linux development...

これらのオプションは、Subversion オンライン マニュアルのスパース ディレクトリで確認してください。

于 2011-01-03T21:15:27.997 に答える