2009-04-24 9 views
3

TortoiseSVNとVisualSVNでASP.NET Web Deploymentプロジェクトを使用していますが、これはSubversionの生成ファイルに関する一般的な質問です。Subversionに自動生成されたファイルを使用させるには?

ウェブデプロイメントプロジェクトでは、ウェブサイトのパラレル "デプロイメント"バージョンが自動的に生成され、すべてのコードが削除され、1つのアセンブリにコンパイルされます。私のファイル構造は次のとおりです。

  • トランク
  • トランク/ MyProjectと(Webサイトのルート)
  • トランク/ MyProject_deploy(展開プロジェクトのルート)
  • トランク/ MyProject_deploy /リリース(配備ウェブサイトのルート、自動的に生成される)

ここに問題があります:MyProject_deploy/Releaseは、ビルド時に(リリースモードで)再生成されます。ディレクトリは削除され、再作成されるので、すべての.svnメタデータが失われます。私がコミットしようとすると、ステータスが「閉塞」になります。これは検索して、管理対象フォルダと同じ名前のアンマネージローカルフォルダがサーバー上にあることを意味します。

(私はReleaseフォルダを無視することもできますが、私はSubversionサーバから直接FTPの展開をしたい。)

のSubversionで、自動生成されたファイルを扱うための最良の方法は何ですか?

答えて

14

svn:ignoreプロパティを設定します。あなたのバージョン管理システムにそれらを追加しないでください。ビルドプロセスによって生成されたものは、そこに属しません。ビルドプロセスを完了するために必要なものがあります。

CruiseControl.NETのような継続的な統合サーバーをミックスに追加することをお勧めします。ソースからプロジェクトをビルドしてから展開することができます。これは1の代わりに2つのベストプラクティスを使用する立場に置かれ、あなたの問題を解決します。

1

Visual Studioを使用している場合は、ビルド前に.svnディレクトリ(またはディレクトリ)をReleaseから移動し、その後に戻すためにビルド前イベントとビルド後イベントを定義できますか?

1

これは、セットアッププロジェクトを使用してWindowsインストーラの出力を作成するときにも問題になります。

出力ファイル名をに変更すると、生成されたファイルが "Release"というサブフォルダではなく展開プロジェクトのルートにダンプされるようになります。

セットアッププロジェクトの場合、私は単一のMSIファイルを生成していましたが、うまくいきました。フォルダは削除されず、再作成されていないため、SVNエラーはなく、デプロイメントプロジェクトルートフォルダ。

関連する問題