Bei der Evaluierung von Visual Studio 2010 Beta 2 stelle ich fest, dass meine vcproj- Dateien im konvertierten Verzeichnis zu vcxproj- Dateien wurden. Neben jedem Projekt befinden sich auch vcxproj.filter- Dateien, die eine Beschreibung der Ordnerstruktur enthalten (\ Quelldateien, \ Header-Dateien usw.).
Denken Sie, dass diese Filterdateien pro Benutzer aufbewahrt werden sollten oder dass sie für die gesamte Entwicklergruppe freigegeben und in SCC eingecheckt werden sollten?
Mein derzeitiger Gedanke ist, sie einzuchecken, aber ich frage mich, ob es Gründe gibt, dies nicht zu tun, oder vielleicht gute Gründe, warum ich sie auf jeden Fall einchecken sollte.
Der offensichtliche Vorteil ist, dass die Ordnerstrukturen übereinstimmen, wenn ich mir den Computer eines anderen anschaue, aber vielleicht möchten sie die Dinge logisch neu organisieren?
Wir haben absichtlich den Filter gezogen. Dateiinformationen aus dem .vcproj, als wir in das .vcxproj MSBuild-Format übersetzt haben. Ein Grund ist genau das, worauf Sie hingewiesen haben, dass die Filter eine rein logische Ansicht sind und verschiedene Teammitglieder möglicherweise unterschiedliche Ansichten wünschen. Das andere ist, dass der Build manchmal so eingerichtet ist, dass er den Zeitstempel der Projektdatei überprüft und eine Neuerstellung auslöst, wenn sie sich geändert hat - da dies bedeuten kann, dass unterschiedliche Quelldateien erstellt werden müssen oder unterschiedliche Einstellungen usw. Ich nicht Denken Sie daran, ob wir tatsächlich mit dem Build ausgeliefert haben, der auf diese Weise ausgelöst wurde, aber die Idee war, dass wir keinen Neuaufbau auslösen wollten, nur weil sich die Filter geändert haben, da sie den Build nicht beeinflussen.
quelle
Ich habe gerade festgestellt, dass Sie mit Git .filter-Dateien markieren können, die als Vereinigung zum Zusammenführen behandelt werden sollen, um die Vereinfachung zu vereinfachen. Fügen Sie einfach die Zeile hinzu:
zu Ihrer .gitattributes-Datei.
Weitere Informationen finden Sie unter Verwenden von .gitattributes zur Vermeidung von Zusammenführungskonflikten .
quelle
merge=union
tut - nichts anderes wurde versprochen. Mit diesem Wissen und einer sehr umfassenden Vorstellung davon, wie * .filter-Dateien aussehen, ist es leicht zu erkennen, warummerge=union
eine gute Idee für diese Dateien ist.Es sollte nicht für den Fall hinzugefügt werden , die Sie verwenden
CMake
(oder ein Build - Tools) Dateien wie zu generieren*.sln
,*.vcxproj
,*.vcxproj.filters
usw., da diese Dateien vollständigen Pfad zu Ihrem Projektordner und andere enthalten können Ihren Computer nur bestimmte Ordner .quelle