Dois-je append des fichiers .vcxproj.filter au contrôle de source?

Lors de l’évaluation de Visual Studio 2010 Beta 2, je constate que dans le répertoire converti, mes fichiers vcproj sont devenus des fichiers vcxproj . Il existe également des fichiers vcxproj.filter à côté de chaque projet, qui semblent contenir une description de la structure du dossier (\ Fichiers source, \ Fichiers d’en-tête, etc.).

Pensez-vous que ces fichiers de filtrage doivent être conservés par utilisateur ou doivent-ils être partagés dans l’ensemble du groupe de développement et archivés dans SCC?

Ma pensée actuelle est de les vérifier, mais je me demande s’il y a des raisons de ne pas le faire, ou peut-être de bonnes raisons pour lesquelles je devrais absolument les enregistrer.

L’avantage évident est que les structures de dossiers correspondent si je regarde la machine de quelqu’un d’autre, mais peut-être souhaiteraient-elles réorganiser les choses de manière logique?

Les versions précédentes de Visual Studio (au moins les versions 6.0 et 2008) stockent ces informations dans leur propre fichier de projet (fichiers .dsp et .vcproj respectivement), ce qui, bien sûr, est bon à append à SCC.

Je ne peux penser à aucune raison de ne pas inclure ces fichiers .filter dans SCC

Nous avons intentionnellement tiré le filtre. informations de fichier à partir de .vcproj lorsque nous avons traduit au format .vcxproj MSBuild. L’une des raisons est exactement ce que vous avez souligné, à savoir que les filtres sont purement une vue logique et que différents membres de l’équipe peuvent souhaiter des vues différentes. L’autre est que, parfois, la construction est configurée pour vérifier l’horodatage du fichier de projet et déclencher une reconstruction si elle a changé, car cela peut signifier qu’il y a différents fichiers sources à générer, ou différents parameters, etc. rappelez-vous si nous avons effectivement expédié avec la construction qui déclenche de cette façon, mais l’idée était que nous ne voulions pas déclencher une reconstruction simplement parce que les filtres ont changé, car ils n’affectent pas la construction.

Je viens de découvrir que si vous utilisez Git, vous pouvez marquer les fichiers .filter comme étant une union pour la fusion afin de la rendre plus simple. Ajoutez simplement la ligne:

*.vcxproj.filters merge=union 

à votre fichier .gitatsortingbutes.

Voir Utilisation de .gitatsortingbutes pour éviter les conflits de fusion pour plus de détails.