wake-up-neo.com

Soll ich .vcxproj.filter-Dateien zur Quellcodeverwaltung hinzufügen?

Beim Auswerten von Visual Studio 2010 Beta 2 sehe ich, dass meine vcproj -Dateien im konvertierten Verzeichnis vcxproj -Dateien wurden. Neben jedem Projekt befinden sich auch vcxproj.filter - Dateien, die anscheinend eine Beschreibung der Ordnerstruktur enthalten (\ Quelldateien,\Headerdateien usw.).

Denken Sie, dass diese Filterdateien pro Benutzer aufbewahrt werden sollten, oder sollten sie für die gesamte Entwicklergruppe freigegeben und in SCC eingecheckt werden?

Derzeit denke ich daran, sie einzuchecken, aber ich frage mich, ob es Gründe gibt, dies nicht zu tun, oder vielleicht gute Gründe, warum ich sie unbedingt einchecken sollte. 

Der offensichtliche Vorteil besteht darin, dass die Ordnerstrukturen übereinstimmen, wenn ich mir die Maschine eines anderen Computers anschaue. Vielleicht möchten sie die Dinge jedoch logisch reorganisieren?

153
jschroedl

Frühere Versionen von Visual Studio (mindestens Versionen 6.0 und 2008) speichern diese Informationen in ihrer eigenen Projektdatei (.dsp- bzw. .vcproj-Dateien), die sich natürlich gut in SCC einfügen lässt.

Ich kann mir keinen Grund vorstellen, diese .filter-Dateien nicht in SCC einzubinden

54
jrbjazz

Wir haben absichtlich den .filter gezogen. Dateiinformationen aus dem .vcproj bei der Übersetzung in das MSBuild-Format .vcxproj. Ein Grund dafür ist genau das, worauf Sie hingewiesen haben, dass die Filter rein logisch sind und verschiedene Teammitglieder unterschiedliche Ansichten wünschen. Der andere ist, dass manchmal der Build so eingerichtet ist, dass er den Zeitstempel der Projektdatei prüft und einen Neustart auslöst, wenn er sich geändert hat - weil dies bedeuten kann, dass verschiedene Quelldateien erstellt werden müssen, oder verschiedene Einstellungen usw. I Ich kann mich nicht erinnern, ob wir tatsächlich mit dem Build ausgeliefert wurden, der auf diese Weise ausgelöst wurde, aber die Idee war, dass wir keinen Neuaufbau auslösen wollten, nur weil die Filter geändert wurden, da sie den Build nicht beeinflussen.

101
dan moseley

Ich habe gerade festgestellt, dass, wenn Sie Git verwenden, Sie .filter-Dateien als Vereinigung für das Zusammenführen markieren können, um es zu vereinfachen. Fügen Sie einfach die Zeile hinzu:

*.vcxproj.filters merge=union

in Ihre .gitattributes-Datei.

Siehe Verwendung von .gitattributes, um Zusammenführungskonflikte zu vermeiden für weitere Details.

4
parsley72

Es sollte nicht hinzugefügt werden, wenn Sie CMake (oder ähnliche Build-Tools) verwenden, um Dateien wie *.sln, *.vcxproj, *.vcxproj.filters usw. zu generieren, da diese Dateien vollständigen Pfad zu Ihrem Projektordner und andere nur die spezifischen Ordner Ihres Computers .

0
V. Panchenko