2008-10-01 3 views
6

Wir machen den Wechsel von SourceGear Vault zu TortoiseSVN mit VisualSVN für Visual Studio-Integration - absolut lieben. Es gibt jedoch mehrere Klassenbibliotheken, auf die wir in mehreren verschiedenen Anwendungen verweisen, die in keiner der Anwendungen Teil des Arbeitskopienstamms sind. Was ist der beste Weg, um damit umzugehen, so dass wir weiterhin die Visual Studio-Integration nutzen können, aber trotzdem verschiedene Klassenbibliotheken außerhalb des Root-Verzeichnisses jedes Projekts/jeder Anwendung haben? SourceGear hat damit kein Problem.VisualSVN und Klassenbibliotheken nicht in der Arbeitskopie root

Es ist möglich, Klassenbibliotheken separat mit TortoiseSVN im Explorer hinzuzufügen, aber es gibt keine Möglichkeit, Änderungen an etwas außerhalb der Arbeitskopie von Visual Studio aus vorzunehmen; es gibt auch keine VisualSVN-Ampeln, die den Status für diese außerhalb der Klassenbibliotheken angeben.

Wir gehen übrigens auch mit der Route "Ein Repository mit vielen Projekten" anstatt mit mehreren Repositories, zumal wir so jahrelang gearbeitet haben.

UPDATE:

ich einige Dinge neu zu lesen, die ich vor ausgesehen hatte, und entdeckte, dass svn: externals beziehen sich nicht nur Code in verschiedenen Repositories zu verwenden, aber auch verwendet werden, können mehrere Arbeitskopien zu verwenden in VisualSVN.

Siehe http://www.visualsvn.com/support/topic/00007/ und http://svnbook.red-bean.com/en/1.2/svn.advanced.externals.html

jedoch ist dies der beste Weg, um mit diesem Problem umgehen? Es gibt eine good thread, die Dinge durchläuft, aber die Dinge nicht vollständig löst.

Verwenden Sie deshalb svn: externals oder nicht? Verwenden Sie mehrere Repositories oder nicht? Seit Jahren verweisen wir wieder auf den Code in Klassenbibliotheken unter mehreren Lösungen/Anwendungen und dies funktioniert für uns. Wie funktioniert das am besten mit VisualSVN?

Antwort

4

Gefunden die besten Antworten here:

Referenzierte Projekte

Manchmal ist es sinnvoll, eine Arbeitskopie zu erstellen, die aus einer Reihe von verschiedenen Projekten besteht. Beispielsweise möchten Sie möglicherweise, dass unterschiedliche Unterverzeichnisse von verschiedenen Speicherorten in einem Repository oder möglicherweise von verschiedenen Repositorys kommen. Wenn Sie möchten, dass jeder Benutzer dasselbe Layout hat, können Sie die Eigenschaften von svn: externals definieren.

Und here:

Ein gemeinsames Unterprojekt

Manchmal ist es ein anderes Projekt in der Arbeitskopie einzubinden, zum Beispiel eine externe Bibliothek. Sie möchten keine Kopie dieses Codes in Ihrem Repository erstellen, weil Sie dann die Verbindung mit dem ursprünglichen (und beibehaltenen) Code verlieren würden. Oder vielleicht haben Sie mehrere Projekte, die Kerncode teilen. Es gibt mindestens 3 Möglichkeiten, damit umzugehen.

Verwandte Themen