Должен ли я добавить.vcxproj.фильтровать файлы в систему управления версиями?


при оценке Visual Studio 2010 Beta 2, я вижу, что в преобразованном каталоге, мой vcproj файлы стало vcxproj файлы. Есть также vcxproj.фильтр файлы рядом с каждым проектом, которые, как представляется, содержат описание структуры папок (исходные файлы, заголовочные файлы и т. д.).

Как вы думаете, эти файлы фильтров должны храниться для каждого пользователя, или они должны быть разделены по всей группе разработчиков и зарегистрированы СКК?

в настоящее время я думаю, чтобы проверить их, но мне интересно, есть ли какие-либо причины не делать этого, или, возможно, веские причины, почему я должен обязательно проверить их.

очевидное преимущество заключается в том, что структуры папок будут совпадать, если я смотрю на чужую машину, но, возможно, они хотели бы логически реорганизовать вещи?

3 148

3 ответа:

предыдущие версии Visual Studio (по крайней мере версии 6.0 и 2008) хранят эту информацию в своем собственном файле проекта (.ДСП и. vcproj файлы соответственно), который, конечно, хорошо добавить в SCC.

Я не могу придумать ни одной причины, чтобы не включать это .фильтровать файлы в SCC

мы намеренно тянули .фильтр. файл информации .vcproj когда мы переводили на свой .формат vcxproj MSBuild. Одна из причин заключается именно в том, что вы указали, что фильтры являются чисто логическим представлением, и разные члены команды могут хотеть разные представления. Другой заключается в том, что иногда сборка настраивается для проверки метки времени файла проекта и инициирует перестройку, если она изменилась, потому что это может означать, что существуют разные исходные файлы для сборки или разные настройки, так далее. Я не помню, действительно ли мы отправили с триггером сборки таким образом, но идея заключалась в том, что мы не хотели запускать перестройку просто потому, что фильтры изменились, поскольку они не влияют на сборку.

Я только что обнаружил, что если вы используете Git вы можете отметить .фильтруйте файлы, которые будут рассматриваться как объединение для слияния, чтобы сделать его проще. Просто добавьте строку:

*.vcxproj.filters merge=union

в свой .gitattributes file.

посмотреть использование .gitattributes, чтобы избежать конфликтов слияния для более подробной информации.