135

Visual Studio 2010 Beta 2を評価しているうちに、変換されたディレクトリで私のvcprojファイルがvcxprojになりました。 vcxproj.filter各プロジェクトには、フォルダ構造(\ソースファイル、\ヘッダーファイルなど)の説明が含まれているように見えます。.vcxproj.filterファイルをソース管理に追加する必要がありますか?

これらのフィルタファイルはユーザーごとに保持する必要がありますか、またはdevグループ全体で共有してSCCにチェックインする必要がありますか?

私の現在の考え方は、それらをチェックすることですが、その、または私は間違いなく、それらを確認する必要がありますなぜ、おそらく正当な理由を行うにはない任意の理由があるのだろうか。

明白な利点は、そのフォルダ構造であります私が他の誰かのマシンを見ていればマッチしますが、論理的に物事を再編成したいのですか?

答えて

49

以前のバージョンのVisual Studio(少なくともバージョン6.0と2008)は、その情報をそれぞれ独自のプロジェクトファイル(.dspファイルと.vcprojファイル)に保存しますが、これはもちろんSCCに追加するのに適しています。

私は、我々が意図的に.filterを引っ張っSCC

+0

私はあなたと一緒です。私はそれをチェックした。ありがとう! – jschroedl

90

でこの.filterファイルをインクルードしないように何らかの理由を考えることはできません。 .vcxproj MSBuild形式に変換したときの.vcprojからのファイル情報。 1つの理由はまさにあなたが指摘したことです。フィルターは純粋に論理的なビューであり、異なるチームメンバーは異なるビューを望むかもしれません。 もう1つは、プロジェクトファイルのタイムスタンプをチェックし、変更された場合に再ビルドをトリガするようにビルドが設定されることがあることです。ビルドするソースファイルや設定などが異なる可能性があります。ビルドに影響を与えないので、フィルタが変更されただけで再構築をトリガしたくないという考えがありました。

+1

自動再構築の場合は、*任意の*ファイルが変更された場合(ソースなど)ビルドします。 – gbjbaanb

+0

私たちはそれらをチェックインし終わったので、これまでのところその趣旨に満足しています。それらが同じフィルター構造を持っているならば、私たちが他の開発者と一緒に働く方が良いと分かります。 – jschroedl

+2

つまり、両方のファイルを1つのファイルとして管理します。私は誰もそれを別々に扱うとは思わない。その素晴らしいアイデアだが、現実世界の慣習についての少しの考え方は、(WinSxSにランタイムを置くなどの)長い道のりでした。 – gbjbaanb

3

Gitを使用すると、.filterファイルをマージするためのユニオンとして扱われるようにマークすることができます。 .gitattributesファイルに

*.vcxproj.filters merge=union 

の行を追加するだけです。

詳細はUsing .gitattributes to avoid merge conflictsを参照してください。

+0

上記のリンクでは、この.filtersファイルにgitattributesファイルに記載されている "共用体"が含まれている必要があります。 – ollydbg23

関連する問題