Ich habe kürzlich untersucht, wie ich Quelldateien in einem Projekt oder mehreren Projekten verwalten kann. Ich habe gelesen, dass Xcode eine integrierte Unterstützung für die Verwendung von svn hat und auch Git unterstützen wird, was ich für sehr nützlich halte.
Die eine Sache, die ich nicht klar verstehen konnte, ist über Source Trees, die im Xcode Project Management Guide beschrieben sind. Hier ist meine Theorie, aber da ich das von irgendwo nicht wirklich bestätigen konnte (soweit ich das beurteilen konnte), würde ich wirklich gerne, wenn jemand sagen könnte, was ich vermisse, wenn überhaupt.
a root
eines Quellbaums, der ein Ordner in meinem lokalen Dateisystem ist. Setting Name
zu meinem (aber absolut in einem anderen Ordner in ihrem lokalen Dateisystem), und wenn sie die Datei an demselben relativen Ort hat, kann ihr Xcode darauf zugreifen die Datei ohne ein Problem. Also ist das korrekt, und wir verwenden Quellbäume, weil es uns ermöglicht, mit Dateien außerhalb des Projektordners zusammenzuarbeiten?
Und selbst wenn die Dateien außerhalb des Projektordners durch einen relativen Pfad zum Projektordner selbst (nicht zu einem Quellbaum) referenziert werden, wenn diese Dateien alle von SVN verwaltet werden, so dass sie am selben relativen Ort zum Projekt existieren Ordner in jeder Umgebung, dann würde ich keine Quellbäume brauchen, oder?
Ich denke nie, dass ich ein Experte von Xcode bin, aber es scheint, dass Ihre Frage für eine Weile nicht beantwortet wurde, also ist es vielleicht wert, zu kommentieren, was ich sagen könnte:
Was Sie beschrieben haben, ist ziemlich viel darüber. Think ist eine Umgebungsvariable eines Betriebssystems. In einem Build-System, das beispielsweise von Autotools erstellt wird, werden Dateien beispielsweise nach relativen Pfaden referenziert, z. B. $PROJECT_HOME/src/common/error.cpp
. Es spielt keine Rolle, wo $PROJECT_HOME
im lokalen Dateisystem jedes Benutzers ist, solange auf die Dateien über ihre relativen Pfade zum Verzeichnis $PROJECT_HOME
des Benutzers zugegriffen werden kann.
Und ja, Sie müssen den Source-Tree nicht verwenden, wenn die gesamte für ein Projekt verwendete Ordnerhierarchie durch relative Pfade zum Home des Projekts referenziert wird und es irgendwie sicher ist, dass jeder die gleichen Dateien am selben Ort hat (z Beispiel, weil ein Versionskontroll-Repository alle Dateien in einem Chunk enthält, wie Sie bereits sagten).
Ich denke jedoch, dass es am besten ist, alle Dateien in im Home-Ordner des Projekts zu behalten, es sei denn, sie werden projektübergreifend verwendet. Daher enthält Ihr Versionskontroll-Repository nur ein einziges Stammverzeichnis (das Projekt) nach Hause) für Ihr Projekt. Wenn es Dateien gibt, die am besten von mehreren Projekten geteilt werden, dann hätte ich ein separates Repository für diese Dateien. In diesem Fall müssen alle Ihre Mitarbeiter das gleiche Protokoll verwenden, z. B. einen Quellbaum mit demselben Einstellungsnamen und alle Projekthomes, die von Ihrem Versionskontrollserver abgerufen werden, direkt unter dem Quellbaum platzieren (so können Dateien außerhalb eines Projekts referenziert werden) in Bezug auf den Quellbaum für alle Programmierer).
Der Großteil meiner Antwort ist eine Art Umformulierung dessen, was Sie bereits beschrieben haben, aber so verwende ich die Funktion source trees
in Xcode selbst. Vielleicht können andere dir mehr darüber erzählen.
Tags und Links xcode