Ao avaliar o Visual Studio 2010 Beta 2, vejo que no diretório convertida, meus vcproj arquivos tornou-se vcxproj arquivos. Também existem arquivos vcxproj.filter ao lado de cada projeto que parecem conter uma descrição da estrutura da pasta (\ Arquivos de Origem, \ Arquivos de Cabeçalho, etc.).
Você acha que esses arquivos de filtro devem ser mantidos por usuário ou devem ser compartilhados por todo o grupo de desenvolvedores e verificados no SCC?
Meu pensamento atual é fazer o check-in, mas me pergunto se há alguma razão para não fazer isso, ou talvez boas razões pelas quais eu definitivamente deveria fazer check-in.
O benefício óbvio é que as estruturas de pastas corresponderão se eu estiver olhando para a máquina de outra pessoa, mas talvez eles desejem reorganizar as coisas logicamente?
Intencionalmente, puxamos o filtro. informações do arquivo fora do .vcproj quando traduzimos para o formato .vcxproj MSBuild. Um dos motivos é exatamente o que você apontou, que os filtros são puramente uma visão lógica e que diferentes membros da equipe podem querer diferentes visões. A outra é que, às vezes, a compilação é configurada para verificar o registro de data e hora do arquivo do projeto e acionar uma reconstrução se ela tiver sido alterada - porque isso pode significar que existem arquivos de origem diferentes para compilar ou configurações diferentes, etc. lembre-se de que realmente enviamos com a compilação sendo acionada dessa maneira, mas a idéia era que não queríamos desencadear uma reconstrução simplesmente porque os filtros foram alterados, pois não afetam a compilação.
fonte
Acabei de descobrir que, se você usar o Git, poderá marcar os arquivos .filter a serem tratados como uma união para mesclagem, para simplificá-lo. Basta adicionar a linha:
ao seu arquivo .gitattributes.
Consulte Usando .gitattributes para evitar conflitos de mesclagem para obter mais detalhes.
fonte
merge=union
faz - nada mais foi prometido. Com esse conhecimento e uma ideia muito ampla de como os arquivos * .filter se parecem, é fácil ver por quemerge=union
é uma boa idéia para esses arquivos.Não devem ser adicionados no caso de você usar
CMake
(ou ferramentas de compilação semelhantes) para gerar arquivos como*.sln
,*.vcxproj
,*.vcxproj.filters
etc., porque estes arquivos podem conter caminho completo para a pasta do projeto e outros apenas pastas específicas do seu computador .fonte