Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Versionskontrolle - wie macht man sie richtig? (https://www.delphipraxis.net/128743-versionskontrolle-wie-macht-man-sie-richtig.html)

Tyrael Y. 5. Feb 2009 09:43

Re: Versionskontrolle - wie macht man sie richtig?
 
Ich meine man kann bei SVN Repositories miteinander verlinken (Repository A, B)

Ab diesem Zeitpunkt führt ein Labeln bei A automatisch zu einem Label bei B.
Holt man sich von A den gelabelten Stand, dann wird von B der dazugehörige Stand auch automatisch geholt.

Ich meine das verlinken geht auf jeden Fall, gemacht habe ich es leider noch nicht, so daß ich dir die genauen Schritte nicht sagen kann.

Sherlock 5. Feb 2009 10:13

Re: Versionskontrolle - wie macht man sie richtig?
 
Zitat:

Zitat von worker
Zitat:

Zitat von Tyrael Y.
Ihm geht es darum, allgemeine Daten, die sich in einem anderen Repository befinden, zu einer gelabelten Version zu Referenzieren.

Genau darum geht es :thumb:

@Sherlock
Hört sich erstmal gut an. Allerdings kann ich mir noch nicht so richtig vorstellen, dass das JVCS wirklich weiß, das es Dateien aus anderen Projekten festhalten muss - woher soll es das wissen?

Zum einen weiß das JVCS, daß eine Unit bereits von einem anderen Projekt verwendet wird, nur dadurch, daß die Unit haargenau an der gleichen Stelle liegt ;). Zum anderen sieht das dann zum Beispiel für eine gesharete Unit so aus:
Zitat:

MyLib_TLB.pas
===============

8 entries.

Shared by project | Project ID
------------------- | ----------
activefoochart.dpr | 114
activefoogrid.dpr | 132
chbar.dpr | 122
foocontainer.dpr | 112
foo_plugger_.dpr | 139
foobarchart.dpr | 143
foobazpr.dpr | 135
foobarbazdpr.dpr | 131

Source: Oracle8 Native Server V 1.00 on 192.168.100.8 [2106]
JEDI VCS 2.4.0.700 © 2002-2006 JEDI VCS (http://jedivcs.sourceforge.net) - 05.02.2009 11:05:37

Unsere Vorgehensweise beim Wiederherstellen einer älteren Version ist (weil wir noch nicht auf die neuere JVCS Version umgestiegen sind, die das besser regelt) einfach die Dateiversionen zum gewünschten Datum zurückzuholen. Funktioniert einwandfrei. Wenn das dann durch ist, kann man mit dem aktuellsten Stand synchronisiern und alles ist so wie vorher. Änderungen im alten Release werden in der Regel von Hand in die neue Version übertragen, was aber in unserer unbegründeten Urangst vor automatischen Mergetools begründet ist.

Sherlock

worker 5. Feb 2009 10:57

Re: Versionskontrolle - wie macht man sie richtig?
 
@mjustin: Deine Vorgehensweise hattest Du ja schon geschildert - danke trotzdem, dass Du Dir nochmal die Mühe gemacht hast :)
Dennoch finde ich bei Deinen Vorschlägen leider keinen, der mich auf Anhieb zufrieden stellt :(
Über Möglichkeit A werde ich allerdings nochmal etwas genauer nachdenken :)

@kalmi01
Auch wenn Speicherplatz heutzutage kein Thema mehr ist, aber das finde ich doch ein bissel extrem - dafür aber sicherlich die einzige Möglichkeit, wirklich absolut revisionssicher zu sein (auch was die VCL angeht) ;)

@Tyrael Y.
Schön wäre das. Habe diese Möglichkeit bisher allerdings noch nicht gefunden. Oder meinst Du svn:externals?

@Sherlock
Hört sich in der Tat super an - allerdings bekomjme ich gerade nichtmal den JVCS Server mit mySQL ans laufen... Ein Trauerspiel. Der Server startet einfach nicht. :wall:

Sherlock 5. Feb 2009 11:02

Re: Versionskontrolle - wie macht man sie richtig?
 
Zur Installation mit mysql kann ich leider nix sagen, aber auf Posts in der Newsgroup reagiert man ziemlich schnell.

Viel Erfolg!

Sherlock

Tyrael Y. 5. Feb 2009 11:10

Re: Versionskontrolle - wie macht man sie richtig?
 
Ja, ich meine schon, daß es mit svn:externals geht.

kleine Info

..sollte man auch beachten!

worker 5. Feb 2009 14:59

Re: Versionskontrolle - wie macht man sie richtig?
 
@Tyrael Y.
Dann fällt das vorerst aus ;) Dennoch danke.

@Sherlock
So, der Server läuft, und ich habe das Ganze mal getestet.
Auf den ersten Blick sieht es gut aus, auf den zweiten Blick gibt es da ein kleines Problemchen:

Ich habe ein shared modul in zwei Projekte eingebunden.
Nun stemple ich Projekt A auf Version 2.0.
Das shared modul wird nun ebenfalls auf 2.0 gestempelt.

Irgendwann hat dann auch Projekt B Stand 2.0 erreicht und wird nun ebenfalls so gestempelt.

Und da ist das Problem.
JVCS erkennt, dass das shared modul früher schon einmal mit 2.0 gestempelt worden ist, und stellt mich vor die Wahl:
  • Entweder ich stemple das shared modul nun, oder
  • ich stemple es nicht.
Wenn ich es stemple, dann geht mir der Stempel 2.0 des shared moduls von Projekt A verloren. Das bedeutet, rufe ich später die gestempelte Version 2.0 von Projekt A ab, so erhalte ich nicht die Version 2.0 des shared moduls von Projekt A, sondern die von Projekt B.

Stemple ich nicht, so fehlt mir der Stempel 2.0 für Projekt B.

Die einzige Alternative wäre, für die Bezeichnung des Stempels nicht nur eine Versionsnummer zu vergeben, sondern auch den Namen des Projektes.
Das wird natürlich irgendwann mal extram unübersichtlich im Label-Manager.

Irgendwie ist das alles Käse *grml*


Und nein, ich glaube noch immer nicht, dass diejenigen, die sich bisher hier zu Wort gemeldet haben, die einzigen sind, die Versionsmanagement betreiben.
Ist das so ein großes Geheimnis, oder warum melden sich nicht die Power-User (5000+ Posts) dieses Forums mal zu Wort? :gruebel:

Sherlock 5. Feb 2009 15:04

Re: Versionskontrolle - wie macht man sie richtig?
 
Das mit den vielen Stempeln ist zwar unschön, aber naja...im Prinzip egal. Die haben ja den Sinn, daß man damit per Label eine Version hergestellen kann. Wenn Du gar nicht labelst, kommst Du wie gesagt auch nur per Datum hin, d.h. Du checkst eine Version ein und als CheckIn-Kommentar gibst Du eben noch mit an, daß dies ein Release der Version XY ist, in der Version-History kannst Du eben dann sehen, wann die Version eingecheckt wurde, und nach datum zurück holen. Klingt wirr und kompliziert, aber die Oberfläche macht es einem einfach. Hast Du mal im Manual geschaut, was da zu dem Thema geschrieben wird?

Sherlock

worker 5. Feb 2009 15:42

Re: Versionskontrolle - wie macht man sie richtig?
 
Zitat:

Zitat von Sherlock
Das mit den vielen Stempeln ist zwar unschön, aber naja...im Prinzip egal. Die haben ja den Sinn, daß man damit per Label eine Version hergestellen kann.

Hätte ich die Möglichkeit, ad hoc einen Stempel zu vergeben, also ohne den Label-Manager, dann wäre das ja auch in Ordnung.
Oder wenn der Label-Manager die Labels je Projekt verwalten würde. Dann hätte ich immer schon meine Labels nur für das aktuelle Projekt -> perfekt.

Das mit der Uhrzeit... hmm.
Wird beim Einchecken auch die Eincheckzeit der Dateien gesetzt, die gar nicht geändert worden sind?
Und dann müsste man sich ja zusätzlich noch irgendwo notieren, um welche Uhrzeit man welche Version eingecheckt hat :gruebel:
Irgendwie alles nicht so das Wahre - echt zum verzweifeln :cry:

Sherlock 5. Feb 2009 16:52

Re: Versionskontrolle - wie macht man sie richtig?
 
Du brauchst nicht die Zeiten von ungeänderten Dateien notieren, ändern oder sonstwie. Die Abfrage ist einfach jüngste Dateien vor Datum/Zeit.

Sherlock

Pfoto 5. Feb 2009 17:38

Re: Versionskontrolle - wie macht man sie richtig?
 
Hallo Worker,

ich bin gerade dabei mir Subversion zu installieren
und stelle mir auch die Frage, wie ich zu einem *wirklichen*
früheren Versionstatus zurückkommen kann (also auch den
Status der ganzen Komponenten)

Eben habe ich dieses PlugIn für Delphi gefunden:
SourceConneXion

Zumindest heißt es in den Features:
"Share files from other projects from inside the IDE."

Vielleicht trägt das etwas zur Lösung bei.

Gruß
Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 Uhr.
Seite 2 von 3     12 3      

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