Zitat von
worker:
In Visual Studio habe ich die Möglichkeit, beim Linken einer Version den aktuellen Stand ausgelagerter Units als Kopie ins Projektverzeichnis zu holen.
Habe ich eine ähnliche Möglichkeit in Delphi?
Es geht aber doch um ein Subversion Problem oder? Die
IDE ist daher ja im Prinzip egal. Oder meintest Du
SVN gegenüber VSS (Visual Source Safe)?
Mit
svn:externals kann man Daten aus verschiedenen Zweigen, Revisionen und Repositories in einer Verzeichnisstruktur mischen:
http://svnbook.red-bean.com/nightly/...externals.html
Dieses Feature richtig einzusetzen ist nicht trivial. Man hat die Wahl, die external Referenz auf den Trunk der ausgelagerten Units zeigen zu lassen, oder auf eine spezielle Revision. Wenn man nun eine alte Version des Projektes auscheckt, fragt sich, welche Version der ausgelagerten Units ausgelagert werden soll: die aktuelle, oder die zu dem Zeitpunkt aktuelle, an dem die Revision des Projekts erstellt wurde? Und wenn man in dem external-Zweig innerhalb des Projektes etwas ändert und dann (versehentlich) überträgt, kann das auch spannende Folgen und Auswirkungen auf andere Projekte haben. Oder, wenn man eine bestimmte Revision der ausgelagerten Units verwenden wollte, ist es wegen der Änderungen an diesem Tag beim nächste Mal noch die Richtige (vor der Änderung)? Man kann in
SVN ja auch in einem Tag beliebige Änderungen machen, es gibt keinen 'technischen' Unterschied zwischen einem Branch und einem Tag.
Ich bevorzuge ein Verfahren, bei dem bestimmte Versionen der ausgelagerten Units wie eine Library in definierten Verzeichnissen liegen müssen, und im Projekt genau auf diese Version referenzert wird. (Ausser wenn man an einem Projekt und zugleich an einer Library-
Unit zugleich im Trunk arbeitet). Also komplett ohne 'externals'.