AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Rekonstruktion der Sourcen anhand Dateiversion
Thema durchsuchen
Ansicht
Themen-Optionen

Rekonstruktion der Sourcen anhand Dateiversion

Ein Thema von styleguard · begonnen am 17. Okt 2008 · letzter Beitrag vom 17. Okt 2008
Antwort Antwort
styleguard

Registriert seit: 17. Okt 2008
Ort: Nienburg
2 Beiträge
 
Delphi 5 Enterprise
 
#1

Rekonstruktion der Sourcen anhand Dateiversion

  Alt 17. Okt 2008, 11:12
Hallo liebe Delphigemeinde,

auch wenn das Thema Versionskontrolle schon oft besprochen wurde, finde ich keine Lösung meines Problems. Wir (8 SW-Entwickler) arbeiten mit Delphi 5 und Delphi 2006 und verwenden JEDI VCS für unsere Sourcen.
Unsere Software sind Individuallösungen in einer bestimmten Branche, d.h. es gibt kein Programm, das für alle Kunden gleich ist. Es gibt einen Stammcode und je nach Anforderung eigene kundenspezifische Module. Es sind auch verschiedene Programm beim Kunden, die aber zu einem großen Teil auf gemeinsame Sourcen aufbauen. Bei Änderungswünschen oder Bugs wird schnell der entsprechende Sourcecode ausgecheckt, geändert, wieder eingecheckt und die .EXE ab zum Kunden.
Wenn jetzt ein Kunde von einem Bug berichtet, können wir ihn oft nicht mehr nachstellen bzw. die Adresse des Laufzeitfehlers ist nichtssagend, da sich inzwischen der Quellcode geändert hat. Ich hatte die Hoffnung, dass man für jedes Programm eine Versionsnummer generieren kann, die auf den Versionsnummern der Quelldateien beruht, und so wieder den Zustand herstellen kann, mit dem das Programm erstellt wurde.
Das Labeln der Sourcen wäre viel zu aufwendig und unpraktikabel, da jeder Entwickler mehrere Projekte gleichzeitig betreut und somit immer alle Sourcen auf dem neuesten Stand halten muss.
Gibt es in JEDI VCS eine Möglichkeit, das zu realisieren, die ich vielleicht übersehen habe?
Viele Entwickler schwören auf SubVersion in Verbindung mit TortoiseSVN, aber auch da bin ich mir nicht sicher, ob es das leistet was ich brauche. Andererseits frage ich mich, ob wir nicht vielleicht grundsätzlich falsch arbeiten, aber wie dann richtig?
Da wir auch häufig beim Kunden, im Rahmen der Inbetriebnahme unserer Software, noch Anpassungen vornehmen, muss auch der Zugriff auf sämtliche Sourcen lokal möglich sein (oft kein Internetzugang verfügbar). Mit JEDI VCS kopieren wir dazu die Interbase Datenbank von unserem Server und lesen sie in einen lokalen IBServer/JEDI VCS ein. Geht ein ähnliches Verfahren auch mit SubVersion?
Ich hoffe ich konnte mein Problem klar rüberbringen und bin sicher, dass irgend Jemand weiß wie es geht.

Gruß, Jürgen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.638 Beiträge
 
#2

Re: Rekonstruktion der Sourcen anhand Dateiversion

  Alt 17. Okt 2008, 11:50
Vielleicht hilft Dir dieser Artikel hier weiter:
http://www.dipl-wirt-inf.de/2005/09/...-zu-subversion

Subversion kann Tags in Dateien automatisch ersetzen.
So kannst Du z.B. die aktuelle Revisionsnummer des Subversion-Repositories z.B. als Build-Nummer in die Version Deiner Delphi-Applikation einsetzen. Somit kann man anhand einer Versionsnummer eines Programmes exakt diese Revision im Subversion wiederherstellen und that's it. Euer Hauptproblem wäre damit gelöst.

Das 'mitnehmen' des Repositories ist allerdings etwas problematisch. Wie re-integriert ihr denn aktuell Änderungen am Projekt in die eigene Verwaltung? Zurückspielen der Datenbank ist ungeschickt, weil damit ja die Änderungen der Kollegen flöten gehen?

Die Idee bei SVN wäre entweder, das online-Repository 1:1 kopieren und auf die lokale Version zu switchen (dazu müssen aber viele Dateien kopiert werden, das kann länger gehen). Alternativ nimmt man nur die letzte Revision mit, hat dann unterwegs aber keine Möglichkeit, auf eine alte Revision zu gehen wenn man keinen Netz-Zugang hat. Die Re-Integration ginge hier mittels Patches, die SVN direkt über ganze Projekte erstellen kann.

Vielleicht ist aber auch ein distributed CVS das Richtige für Euch? Hier hat jeder das komplette Repos bei sich liegen (ideal für Notebooks) und die werden nur untereinander gesynct. Auch hier ein Artikel:
http://www.russellbeattie.com/blog/d...rcurial-vs-svn
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
17. Okt 2008, 12:08
Dieses Thema wurde von "Phoenix" von "Sonstige Fragen zu Delphi" nach "Programmieren allgemein" verschoben.
Btw.. das ist nicht wirklich Delphi-Spezifisch sondern eher allgemein gehalten (Versionierung)...
styleguard

Registriert seit: 17. Okt 2008
Ort: Nienburg
2 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: Rekonstruktion der Sourcen anhand Dateiversion

  Alt 17. Okt 2008, 14:46
Zitat von Phoenix:
Vielleicht hilft Dir dieser Artikel hier weiter:
http://www.dipl-wirt-inf.de/2005/09/...-zu-subversion
Danke, das half schon ein bischen.

Zitat:
Subversion kann Tags in Dateien automatisch ersetzen.
So kannst Du z.B. die aktuelle Revisionsnummer des Subversion-Repositories z.B. als Build-Nummer in die Version Deiner Delphi-Applikation einsetzen.
Verstehe ich richtig, dass alle Projekte und eigene Bibliotheken in einem Repository gehalten werden und dass jede mit commit eingecheckte Datei die Build-Nummer erhöht und damit auch jede Änderung in eigenen globalen Packages erfasst werden? Das wäre gut
Dann würde aber auch jedes neue Projekt mit einer hohen Build-Nummer beginnen, oder?
Wäre das auch ein Weg, um Änderungen in 3rd Party Komponenten zu erfassen (manche, wie von TMS, werden fast monatlich aktualisiert)?

Zitat:
Wie re-integriert ihr denn aktuell Änderungen am Projekt in die eigene Verwaltung?
Prüfen, ob die Masterversion nicht geändert wurde, dann einfach (drüber) einchecken. Sonst manuell die per DiffTool gefundenen Änderungen einpflegen (manchmal sehr mühsam).

Den Thread habe ich ursprünglich in "Sonstige Fragen zu Delphi" erstellt, da ich mir auch eine Integration in Delphi wünsche. Ich weiß nicht, ob ich meine Kollegen sonst überzeugen kann, etwas anderes zu nehmen.

Gruß, Jürgen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.638 Beiträge
 
#5

Re: Rekonstruktion der Sourcen anhand Dateiversion

  Alt 17. Okt 2008, 14:55
Zitat von styleguard:
Verstehe ich richtig, dass alle Projekte und eigene Bibliotheken in einem Repository gehalten werden und dass jede mit commit eingecheckte Datei die Build-Nummer erhöht und damit auch jede Änderung in eigenen globalen Packages erfasst werden? Das wäre gut
Ja, jeder einzelne Checkin erhögt die Revisionsnummer. Und die Revisionsnummer kann durch Tag-Ersetzung als Buildnummer verwendet werden. Und es hindert Dich niemand daran, alles in einem Repository zu halten

Zitat von styleguard:
Dann würde aber auch jedes neue Projekt mit einer hohen Build-Nummer beginnen, oder?
Wäre das auch ein Weg, um Änderungen in 3rd Party Komponenten zu erfassen (manche, wie von TMS, werden fast monatlich aktualisiert)?
Zwangsläufig ja. Ausser, man benutzt ein Repository pro Projekt. Dann hat jedes Projekt seine eigene Nummer. Das liegt an Euch wie ihr das entsprechend verteilen wollt. Und ja: Man kann damit logischerweise auch Änderungen in externen Komponenten verfolgen. Neue Sourcen reinkopieren, einchecken, that's it.

Zitat von styleguard:
Zitat:
Wie re-integriert ihr denn aktuell Änderungen am Projekt in die eigene Verwaltung?
Prüfen, ob die Masterversion nicht geändert wurde, dann einfach (drüber) einchecken. Sonst manuell die per DiffTool gefundenen Änderungen einpflegen (manchmal sehr mühsam).
Da hilft dann wie schon erwähnt das Patch-Tool von Subversion. Und ansonsten kann man auch in SVN selber diffen, bzw. z.B. WinMerge nehmen (supergeniales Tool btw. ).

Zitat von styleguard:
Den Thread habe ich ursprünglich in "Sonstige Fragen zu Delphi" erstellt, da ich mir auch eine Integration in Delphi wünsche. Ich weiß nicht, ob ich meine Kollegen sonst überzeugen kann, etwas anderes zu nehmen.
Es gibt für Subversion eine Integration in Delphi. Eigentlich sogar zwei. Die eine ist glaub ich auch von den Jedis. Aber ganz ehrlich: Die braucht man nicht. Ich zumindest nicht *g*. Man gewöhnt sich ungeheuer schnell daran, alles übers Kontextmenü im Explorer von Windows zu machen
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  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 03:24 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