AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Projektverwaltung: Basissourcen als Kopie nutzen
Thema durchsuchen
Ansicht
Themen-Optionen

Projektverwaltung: Basissourcen als Kopie nutzen

Ein Thema von worker · begonnen am 4. Feb 2009 · letzter Beitrag vom 6. Feb 2009
Antwort Antwort
worker
(Gast)

n/a Beiträge
 
#1

Projektverwaltung: Basissourcen als Kopie nutzen

  Alt 4. Feb 2009, 16:06
Hallo,

ich nutze zur Projektverwaltung TortoiseSVN als Standalone-Maßnahme.
Ich verwalte meine Projekte in separaten Repositories.

Nun ist es so, dass ich eine gewisse Basis an Funktionen in separate Units ausgelagert habe, damit mehrere Projekte darauf Zugriff haben, ich Änderungen aber nur an einer Stelle vornehmen muss.
Diese Units befinden sich außerhalb der Projektverzeichnisse in einem separaten Verzeichnis 'Utilities'.

Das Problem, vor dem ich nun stehe, ist folgendes:

Stempel (markiere) ich eine Version eines Projektes, so ist nur der Stand der Dateien festgehalten, die sich im Projektverzeichnis befinden. Die ausgelagerten Sourcen nicht - logisch.

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?

Manuelles Hin- und Herkopieren kann ja nicht die Musterlösung sein, oder?

Sollte es etwas derartiges nicht geben: wie managed Ihr soetwas?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Projektverwaltung: Basissourcen als Kopie nutzen

  Alt 4. Feb 2009, 16:35
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'.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#3

Re: Projektverwaltung: Basissourcen als Kopie nutzen

  Alt 4. Feb 2009, 16:47
Danke erstmal für Deine Ausführungen.

Zitat von mjustin:
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)?
Nein, es ist kein Problem seitens SVN - würde ich ad hoc behaupten.

Ich meine mit Visual Studio schon die VS-IDE; nicht den SourceSafe.
Hier habe ich wie gesagt die Möglichkeit, für alle eingelinkten Dateien, über die Eigenschaft 'In Ausgabeverzeichnis kopieren' festzulegen, ob die verlinkte Datei als solche verwendet, oder aber die verlinkte Datei ins Projektverzeichnis kopiert, und dann diese Kopie anstelle der originalen verlinkten Datei genutzt wird.

Das ist ein Feature der IDE, und daher dachte ich, dass Delphi evtl. etwas Ähnliches bietet.
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#4

Re: Projektverwaltung: Basissourcen als Kopie nutzen

  Alt 4. Feb 2009, 17:45
Habe mir das mit den Externals mal angesehen: das ist auch nicht das Wahre

Irgendwie haben wir hier doch auch ein Grundsatzproblem, oder?

Angenommen, ich setze externe Komponenten ein.
Irgendwann ist ein Release meiner Anwendung fertig und es wird markiert mit v1.0

Irgendwann bei 2.0 oder so wird die externe Komponente aktualisiert.

Nun muss ich aber für die Version 1.0 noch ein Hotfix liefern.

Was tun? Die externe Komponente ist ja nun schon viel weiter als beim Stand meiner 1.0.
Und den Stand von damals habe ich natürlich nicht verwaltet.

Ich kann ja nicht sämtliche externe Sourcen für jedes Projekt sichern; theoretisch gehört dazu ja auch die VCL...

Wundert mich, dass bisher erst eine Antwort auf meine Frage eingegangen ist; verwalten andere ihre Projekte nicht sinnvoll?
Oder haltet Ihr Eure Daten immer redundant?
  Mit Zitat antworten Zitat
globetrotter77

Registriert seit: 16. Jan 2009
Ort: Nürnberg
236 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Projektverwaltung: Basissourcen als Kopie nutzen

  Alt 5. Feb 2009, 11:21
Zitat von worker:
Irgendwie haben wir hier doch auch ein Grundsatzproblem, oder?
Da hast du recht, das IST ein Grundsatzproblem!
Zitat:
Angenommen, ich setze externe Komponenten ein.
...
Ich kann ja nicht sämtliche externe Sourcen für jedes Projekt sichern; theoretisch gehört dazu ja auch die VCL...
Und im Grunde auch der aktuelle Stand der Registry, der Verzeichnisstruktur und der Windows-Version ... *grummel* ... aber irgendwo muss man vielleicht doch nen Schnitt machen.
An einer Lösung dieses Problems wäre ich auch mehr als nur interessiert!
Ich hasse Redundanzen!
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Projektverwaltung: Basissourcen als Kopie nutzen

  Alt 5. Feb 2009, 22:15
Zitat von worker:
Habe mir das mit den Externals mal angesehen: das ist auch nicht das Wahre

Irgendwie haben wir hier doch auch ein Grundsatzproblem, oder?

Angenommen, ich setze externe Komponenten ein.
Irgendwann ist ein Release meiner Anwendung fertig und es wird markiert mit v1.0

Irgendwann bei 2.0 oder so wird die externe Komponente aktualisiert.

Nun muss ich aber für die Version 1.0 noch ein Hotfix liefern.

Was tun? Die externe Komponente ist ja nun schon viel weiter als beim Stand meiner 1.0.
Und den Stand von damals habe ich natürlich nicht verwaltet.
Wenn ich die Ausführungen in der Subversion-Hilfe richtig verstanden habe, dann ist auch die svn:externals Property versioniert. Und da die externe Ressource auch in einem SVN-Repository liegt, sollte es es eigentlich kein Problem sein, diese mit dem korrekten Versionsstand zu holen. Du musst halt einfach bei svn:externals jeweils die Revision der externen Ressource mit angeben und manuell anpassen, wenn du auf die nächsthöhere (bessere) Revision wechseln willst. Ist eh sinnvoll, da du ja wahrscheinlich gezielt jeweils ein Stable Release wählen möchtest (also eine getaggte Version).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#7

Re: Projektverwaltung: Basissourcen als Kopie nutzen

  Alt 6. Feb 2009, 08:31
Da hast Du recht; allerdings haben sich mittlerweile noch weitere Nachteile ergeben (keine Einzeldateien als externals), so dass dieses Vorgehen für mich endgültig ausscheidet. Einzelheiten bei Bedarf hier.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz