![]() |
SVN und Komponentenversionen
Guten Morgen alle... :hi:
ich bräuchte mal eine Idee zur Problemlösung :zwinker: Viele von Euch arbeiten auch mit Tortoise SVN. Abgeschlossen Versionen (Verzweigungen) legt man ja für gewöhnlich in tags. Soweit so gut. Nun verändern sich ja auch über die Zeit die Komponenten durch Updates (TMS, Zeos etc.) Wie legt ihr diese Informationen mit ab, damit ein Kompilat einer älteren Version exakt dem Original entspricht ? |
Re: SVN und Komponentenversionen
Zitat:
|
Re: SVN und Komponentenversionen
Zitat:
Zitat:
Ich werde es mal etwas vereinfachen. Da der Fall eine ältere Version zu kompilieren alle 100 Jahre mal vorkommt werde ich alle Installationsdateien der relevanten Komponenten in ein Verzeichnis dazu packen und um diese ggf. in die IDE zu installieren. ...oder gibt es noch einfachere Vorschläge ? :wink: |
Re: SVN und Komponentenversionen
Zitat:
/edit: Argh, Delphi kennt immer noch nur global installierte Packages :| ? Das ist natürlich reinstes Gift für VCS. |
Re: SVN und Komponentenversionen
Zitat:
|
Re: SVN und Komponentenversionen
Die Komponenten werden auch versioniert und geTagged (extra Projekte).
In dein Projekt bindest du die Komponenten mit dem SVN-Property "externals" ein. |
Re: SVN und Komponentenversionen
Guten Morgen...
könntest du mir das in Stichpunkten mal erklären ? Zitat:
Danke |
Re: SVN und Komponentenversionen
Hi!
Schau mal, ob dir das hilft: ![]() Grüße, Frederic |
Re: SVN und Komponentenversionen
SVN-Buch:
![]() Property-Metadaten ![]() Externals: ![]() Aber fKerbers Beitrag triff es bereits auf den Kopf. |
Re: SVN und Komponentenversionen
Danke für eure Info´s
...leider bringen sie mich nur halb zum Ziel. Das mit den externals hab ich soweit. Nur wie wende ich das auf die bpl und Sourcen der Fremdkomponenten an ? Die liegen ja völlig wo anders und wenn ich das richtig verstehe, hab ich dann nur eine "Kopie" in der Arbeitskopie. Wo müßten die Komponenten aktualisiert werden ? In der Quelle oder in der Arbeitskopie ? Denke ich nur zu kompliziert ? :gruebel: |
Re: SVN und Komponentenversionen
Sprichst du von den installierten Komponenten innerhalb von Delphi oder eigenen BPLs?
Im Prinzip darfst du nicht mit globalen Suchpfaden arbeiten, sondern die in das Projekt eintragen. Bei in der IDE installierten Komponenten dürfte das schwieriger werden. |
Re: SVN und Komponentenversionen
Zitat:
Ich habe mir auch schon Gedanken zu dem Problem gemacht, aber eine wirklich zufriedenstellende Lösung habe ich bisher auch noch nicht gefunden. |
Re: SVN und Komponentenversionen
Ein Symlink könnte hier hilfreich sein: Einfach ein globales Lib-Verzeichnis erstellen und dann in jedem Projektordner eine Veknüpfung dorthin erstellen.
|
Re: SVN und Komponentenversionen
Zitat:
Ich löse das mit SVN folgendermaßen: - Alle Bibliotheken werden über SVN verwaltet. Ich habe ein eigenes Repository, einen Folder pro Bibliothek und die entsprechenden Subfolder trunk, tags und branches. Sowohl bei Fremd-Bibliotheken, als auch bei eigenen, wird jede Version getaggt. - Jedes Projekt hat ein eigenes LIB-Verzeichnis in das die verwendeten Bibliotheken per svn:external eingebunden werden. Solange das Projekt in der aktuellen Entwicklung bzw. Experimentierphase ist, binde ich den jeweiligen trunk ein. - Noch bevor die ersten Versionen des Projekts rausgehen (sprich, bevor das erste Projekt selbst getagged wird), ändere ich die svn:externals auf den aktuellen Tag der entsprechenden Bibliothek. Damit ist gewährleistet, daß diese Version des Projekts mit den dafür passenden Bibliotheken fest verbunden ist. - Für die aktuelle Entwicklung werden die svn:externals wieder auf den trunk zurückgesetzt. Damit ist sichergestellt, daß das Projekt immer mit den neuesten Bibliotheken arbeitet. In Ausnahmefällen wird für einzelne Bibliotheken auch mal darauf verzichtet. - Zum Bugfixing wird die zu fixende Version aus den tags in einen neuen Branch kopiert. Dieser wird dann für alle weiteren Bugfixes dieser Version verwendet. Auf ein Merge wird auf Grund der bekannten Probleme von SVN in diesem Bereich verzichtet. - Das Ganze läßt sich dank einer strukturierten Versionsnummernrichtlinie relativ leicht automatisieren. Das Problem der Designtime-Packages läßt sich damit leider nicht lösen und ich habe bislang auch noch keine zufriedenstellende Lösung dafür gefunden. Entsprechende Geistesblitze nehme ich immer dankbar zur Kenntnis. Nach meinen bisherigen Erkenntnissen muss man sich aber für eine Lösung von den automatischen Bibliotheksinstallern gleich verabschieden. Oder nach Walter Giller: Es bleibt schwierig... |
Re: SVN und Komponentenversionen
Hi,
leg doch einfach ein Verzeichnis "vendor" im Projekt an und werfe dort die Komponenten mit rein? ![]() |
Re: SVN und Komponentenversionen
Danke für Eure Anteilnahme... :zwinker:
ich habe im Moment andere Sorgen. Ich hab mir mit der Probiererei ein paar Versionstände abgeschossen. Verkehrt Ausgecheckt ! :( Ok...Backup her. Und dann ein beschädigtes Backup vorgefunden :wall: (Acronis True Image) Ich bin fast geplatzt :evil: Wenn der Kopf wieder dafür frei ist nehme ich mir Eure Tipps zur Brust. Dann kommt bestimmt die eine oder andere Sicherheitsfrage damit das nicht wieder passiert :zwinker: Eine schöne Woche... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz