2012-03-12 27 views
0

私はSVNを使用していますが、この質問はどのバージョン管理システムにも関係しています。ライブラリファイルとメディアファイルをリポジトリに保存する必要がありますか?

メディアファイル(イメージ、ビデオ、xmlファイルなど)を使用するアプリケーションを開発する際、常に変更されており、ほぼすべてのアプリケーションバージョン(またはリビジョン)が、以前の(または将来の)バージョンのこれらのファイル。このアプリケーションが、以前のバージョンまたは将来のバージョンと互換性のないサードパーティライブラリの特定のバージョンを使用する場合。これらのバイナリファイルをすべてリポジトリに保存するのが一般的なのですか? SVN?

はいと思います。

長所:

  • プロジェクトが大きく、一部の機能はそれで壊れたか、バグがあなたが常に「リビジョンへの更新」を行うと、バグが登場し、その場所を見つけることができ登場している場合。それを修正してください。
  • アプリケーションを構築するためにあなたの作業コピーに必要なすべてを持っているので、チェックアウトを作成し、アプリケーションを構築することは、簡単で

短所:

  • SVNサーバはすべて保存するために多くのHDDスペースが必要になりますバージョン。誰かがそれが
  • SVNのアップデートが

遅い低迷なったことを述べているリポジトリにのみソースコードファイルを保存する任意の他の利点はありますか?

答えて

0

これはイメージ、ビデオ、XMLファイルでは機能しないかもしれませんが、私たちはサードパーティ製のライブラリを別のSVNリポジトリに格納しています。それは素晴らしい作品です。

開発者はローカルマシンにチェックアウトしたり、ネットワーク経由でコンパイル時に必要なファイルを取得したりすることができます。私たちは、Visual Studioのプロジェクトファイルを、ローカル環境変数を指すように修正しました。これは、SDKのバイナリをどこにでもリンクします。ファイルを仮定

がOURSDKと呼ばれるローカルの作業コピーにある、環境変数は次のようになります。

>set OURSDK 
OURSDK=C:\Source\OURSDK 

その後、我々はこれらのマクロの代わりに、相対パスを使用するために私たちのC#とC++のプロジェクトファイルを修正しました

AdditionalIncludeDirectories=""$(OURSDK)\log4cxx\src\main\include"$(OURSDK)\xerces-c\include";"$(OURSDK)\TSE-RegExp\Include"" 

私たちはこの方法で3つのバージョンの製品を管理しています。サードパーティのライブラリとのリンクはほとんど問題ではありません。唯一の小さなヒッチは、リポジトリが効果的に「書き込み専用」であり、図書館がそこに入り、そこにとどまるので、徐々に大きくなっています。それだけの価値がある。 :)

関連する問題