Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Versionsverwaltung (https://www.delphipraxis.net/48211-versionsverwaltung.html)

Zerolith 22. Jun 2005 08:28


Versionsverwaltung
 
Tag,

also - bei uns in der Firma ist es mittlerweile soweit dass wir jeden Tag kaputte Versionen haben. Sachen die 2 Tage vorher programmiert wurden werdne vom anderen Programmierer - der nicht die aktuellen Sourcen hat überschrieben.

Wir haben schon versucht das ganze mit einem einheitlichen Verzeichnis gemacht - Kopien angelegt mit Datum etc. Allerdings fehlt einem Teil der Programmierer einfach die Disziplin sich die aktuellen Sourcen zu kopieren, anzupassen mit ihren änderungen, und zurückzuspielen.

Für uns Projektleiter ist es mittlerweile nur noch zum heulen. Wir sitzten jetzt schon eine Woche beim Kunden. Und können nicht schulen / einführen da jeden Tag was anderes nicht mehr geht.

Natürlich verstehe dass bei unserem System, das wirklich sehr Komplex ist, jede kleine Änderung riesige Auswirkungen hat. Allerdings darf es einfach nicht vorkommen dass jeder Programmierer mit einem anderen Stand arbeitet.

Habt ihr irgendwelche Vorschläge wie das zu regeln ist? (Software)

wichtige punkte wären (momentane ansprüche ;-) :
- Vergleich zwischen der in der Versionverwaltung gespeicherten Version und der einzuspielenden Datei
- Versionierung (das heißt ich möchte zu jeder! erzeugten exe die Sourcen wieder finden können.
- Möglichst sollte das System nicht von Aussen modifizierbar sein (z.B wie Teamsource -> wenn man die Dateien über den Explorer ändern) -> Am besten in einer DB gespeichert
- Externer Zugriff - z.B. TCP / IP
- Nahtlose Integration in Delphi wäre natürlich perfekt
- Historie (Wer hat wann wo was geändert)


Ich wäre aber auch Froh über irgendwelche Vorschläge wie wir das Regeln könnten. Wie es bei euch so läuft. Was ihr für erfahrungen gemacht habt.

Wir verwenden im übrigen Delphi 6 (Enterprise) falls das was zur sache tut. Von einem Versionswechsel möchte ich mal abstand nehmen. Habe mir bereits Delphi 2005 angeschaut (Die Historie und Verlgeichsfunktionen sind ja ganz toll). Aber das wären dann wieder ca. 6 Lizenzen. und noch ne Versionverwaltung ist dann doch etwas viel.

Vielen Dank,
Daniel

Bernhard Geyer 22. Jun 2005 08:32

Re: Versionsverwaltung
 
SubVersion ist groß im Kommen und es gibt auch diverse Clients. Jedoch ohne IDE-Integration.

HeikoAdams 22. Jun 2005 08:48

Re: Versionsverwaltung
 
JEDI Version Control System ist eine andere Alternative, deren Clients sich direkt in sämtliche Delphi Versionen (AFAIK D5 - D2005) integrieren.
Die aktuelle Client Version ist zwar (noch) RC-Status, läuft bei uns aber ohne Probleme. Der Server ist seit einigen Tagen Stable.

Gruß

Heiko

Phoenix 22. Jun 2005 08:49

Re: Versionsverwaltung
 
Habt ihr das MSDN - Abo?

Wenn ja, dann habt ihr Visual SourceSafe dabei, das das ziemlich genau kann was Du brauchst. Eine Source-Safe integration in Delphi gibt es auch, die kostet aber knapp 100 € / Arbeitsplatz.

Alternativ dazu - ich kann Dir aber keine Preise nennen - gibt es SourceGear Vault. Eine Einzelentwicklerlizenz ist kostenlos, Du kannst das also mal ausprobieren. Eine Integration in Delphi gibt es hier imho nicht.

Ich habe jedoch einige Jahre in einem Unternehmen gearbeitet wo Delphi 5 und SourceSafe ohne IDE-Integration genutzt wurde, und das passt auch so. Man muss nicht zwingend aus der IDE heraus ein- und ausschecken. Das macht man hinterher wenn man es durchgetestet hat lieber einzeln in einem extra Programm. Sonst kann es vorkommen, das man weil es eben so schnell geht auch mal was ungetestetes eincheckt oder 'mal kurz' was anderes auscheckt, ändert und eincheckt weils eben so einfach ist. Und Du sagtest selber im Team mangelt es an Disziplin und dann sollte man es nicht zu einfach machen.

alcaeus 22. Jun 2005 08:52

Re: Versionsverwaltung
 
Moin Zerolith,

Delphi 2005 hat auch schon ein rudimentaeres CVS eingebaut, allerdings AFAIK erst ab der Pro. Ansonsten kann ich auch noch Visual SourceSafe empfehlen (von MS), ich habe 3 Monate damit gearbeitet und es ist wirklich sehr einfach. Wie Phoenix bereits gesagt hat, direkt aus der IDE damit zu arbeiten geht leider nicht. Aber man gewoehnt es sich schnell an, jeden Tag die aktuellsten Sourcen rueberzuholen und immer was auszuchecken, bevor mans editiert (geht sonst auch nicht -> Schreibschutz ;))

Greetz
alcaeus

Sanchez 22. Jun 2005 08:59

Re: Versionsverwaltung
 
Hallo,
Wir arbeiten auch mit dem JediVCS. Ich kanns dir weiterempfehlen. Es läuft problemlos und fügt sich durch die IDE-Integration einfach in die gewohnt Arbeit ein.

grüße, daniel

DerDan 22. Jun 2005 09:04

Re: Versionsverwaltung
 
Hallo,


ich will hier noch Perforce erwähnen, was das kostet weis ich nicht! für Eval zwecke kann man eine Version runterladen. Dise Version ist auf zwei Clients beschränkt. meine privaten Projekte verwalte ich auch damit.

Perforce zeichnet sich dadurch aus, das es sehr viele Entwickler unterstützt. In der Fa. für dich ich arbeite sind ca. 800 SW Entwickler aktiv.


Um Unterschiede in den Souren anzuzeigen wird in der Firma Araxis Merge verwendet. Das läßt sich problemlos in Perforce integrieren und zeig Änderungen sehr deutlich an und man knan damit den Quelltext auch bearbeiten.
is aber nicht billig.


Eine Lösung ohne eine solches Versionsmanagment Tool funktioniert meiner Ansicht nach nicht.
Wenn du es Dir leisten kannst würde ich auf so eine professionelle Versionsverwaltung setzten.


Artikel iaus dst
Delphi & Perforce
Perforce

freak4fun 22. Jun 2005 09:09

Re: Versionsverwaltung
 
Hallo :hi:,

wir benutzen wincvs, ist auf englisch, aber einfach und zuverlässig. ;)

MfG
freak

ltiefland 22. Jun 2005 09:55

Re: Versionsverwaltung
 
Zitat:

Zitat von Bernhard Geyer
SubVersion ist groß im Kommen und es gibt auch diverse Clients. Jedoch ohne IDE-Integration.

Kann ich nur empfehlen. Sehr gutes System, das absolut zuverlässig arbeitet. Beispiel gefällig? Hier kann man einen Blick auf unsere Repositories werfen. Diese Seiten verwenden WebSVN als Basis. Dieses Skript zeigt auf Wunsch ALLE Änderungen von einer Version zur nächsten an. Wenn man die Revision kennt, dann kann man auch einen Vergleich zwischen Revision m und n machen, wobei m und n beliebige Zahlen zwischen 1 und der aktuellsten Revision sein können. Wenn die Arbeitskopie zu alt ist, dann kann man bei Subversion übrigens keine Änderungen vornehmen. Ab der Version 1.1.0 hat man die Wahl zwischen Datei- und Datenbankbasierter Speicherung. Ich rate zur Dateibasierten Speicherung. Die Datenbankbasierte hat uns immer wieder Ärger bereitet. Als Windows-Client kann ich TortoiseSVN empfehlen. Es gibt auch eine deutsche Sprachdatei dafür. Eine Integration in Delphi ist leider nicht vorgesehen, so weit ich informiert bin.

ibp 22. Jun 2005 10:12

Re: Versionsverwaltung
 
wenn es um text-sc-vergleiche geht nehme ich textdiff (tdiff) von Angus Johnson. Das ist Freeware sehr einfach zu bedienen, sher schnell und übersichtlich, Editiermöglichkeiten und man kann es auch als Kompo in eigene Projekte integrieren. Finde ich persönlich besser als Visual SourceSafe.

grüße

sakura 22. Jun 2005 10:25

Re: Versionsverwaltung
 
Zitat:

Zitat von alcaeus
Delphi 2005 hat auch schon ein rudimentaeres CVS eingebaut, allerdings AFAIK erst ab der Pro.

:shock: Was Du so rudimentär nennst, Du meinst die History-View, welche ab der Pro dabei ist. ;-) Aber Delphi kommt in den größeren Versionen zusammen mit StarTeam, welches ein vollständiges CVS inkl. Requirement-Tracking, Auditing und Bugtracking sowie den dazugehörigen Team-Diskussionen kommt. Das ist wirklich einen Blick wert :zwinker:

Die Integration von StarTeam ist jeweils ab der Professional verfügbar, eine eigene Client-Lizenz gibt es ab der Enterprise. Der Server ist kostenfrei.

...:cat:...

phlux 22. Jun 2005 10:35

Re: Versionsverwaltung
 
SubVersion kann ich auch nur empfehlen, habe ich mich die Wochen intensiv mit auseinander gesetzt, nutz es auf der Arbeit und für meine Home-Projekte..
Vom MS Versionierungssystem würde ich abraten, ich glaub es ist eh nur für Dokumente ausgelegt, und es ist nicht grad flexibel und es wird nicht mehr weiterentwickelt.

Als SVn Client kann ich nur TortoiseSVN empfehlen :thumb:

r_kerber 22. Jun 2005 10:45

Re: Versionsverwaltung
 
Zu CVS: Damit kann ich mich überhaupt nicht anfreunden. Nur Probleme (z.B. beim Umstruktrieren). Allgemeingültige Ausdrücke (wie einchecken auschecken) haben eine ganz andere Bedeutung. Keine Anzeige, ob eine Quelle ausgecheckt ist und von wem. Server nur für UNIX(?). Clients (egal ob WinCVS oder Tortoise) nicht intuitiv bedienbar. Die einzige halbwegs vernünftige Client-Einbindung existiert in Eclipse.
Starteam: Hier gilt fast der frühere Atari-Werbe-Slogan: Einschalten und verstehen...
Sourcesafe: Hervorragende Einbindung in VS. Einfach bedienbar.

Sanchez 22. Jun 2005 10:55

Re: Versionsverwaltung
 
@Rainer
Was intuitive Einbindung in Delphi angeht, ist IMHO JediVCS unschlagbar.
Man öffnet eine Unit, checkt sie per Shortcut aus, arbeitet und checkt sie später wieder per ShortCut wieder ein und kommentiert auch gleich noch, was man gemacht hat. Falls der Kollege mal wieder ohne Kommentar eingecheckt hat, erreicht man mit 2 Klicks einen Source-Diff-Viewer und lässt sich die Änderungen zwischen beliebigen Versionen der Unit anzeigen.

Phoenix 22. Jun 2005 11:05

Re: Versionsverwaltung
 
Zitat:

Zitat von phlux
Vom MS Versionierungssystem würde ich abraten, ich glaub es ist eh nur für Dokumente ausgelegt, und es ist nicht grad flexibel und es wird nicht mehr weiterentwickelt.

Erm.. das ist alles glatt gelogen. In der beta vom VS 2005 ist auch eine Beta von SourceSafe 2005 (whoops, eine Weiterentwicklung) drin, und das Teil ist absolut spitze.

Und warum gehts Du davon aus, das SourceSafe nur für Dokumente ausgelegt sei, wenn es a) SOURCESafe heisst, b) egenug Werkzeuge zum Mergen und produktiven Arbeiten mit Sourcen mitbringt und zudem noch voll ins VS integriert ist und genug externe Tools verfügbar sind, um VS ins Delphi zu integrieren.

Robert Marquardt 22. Jun 2005 11:36

Re: Versionsverwaltung
 
Wir haben vor kurzem Subversion genommen fuer die interne Verwaltung der Sourcen genommen.
Das Repository ist auf dem Linux-Server aufgesetzt. Das liess sich mit Dokumentation lesen problemlos einrichten.
TortoiseSVN integriert sich in den Explorer. Der wesentliche Vorteil ist das Konflikte beim Einchecken geloest werden.
Morgens einmal ein Update gefahren und dann an den Files arbeiten bis man fertig ist. Danach alles einchecken.

Bei der JVCL und JCL arbeiten die meisten Entwickler mit TortoiseCVS und es funktioniert wunderbar.

Robert_G 22. Jun 2005 11:54

Re: Versionsverwaltung
 
@Robert
Kann ich nur bestätigen.
SVN ist wirklich ein prima System. (lazy copy :) ) tortoiseSVN ist gelegentlich (aber sehr selten und nicht bei routine funktionen) ein wenig zickig.
Zum Arbeiten verwende ich Ankh, falls jemand ein vergleichbares Delphi AddIn kennt ?!? :)
Gerade bei Refactorings ist es ziemlich cool, da ich die overlay Icons aus dem Explorer auch im solution Explorer sehe und somit welche Dateien ich angefasst habe. Alles im vertrauten Look'n Feel. :)

VSS6 finde ich, ehrlich gesagt unglaublich friemelig, langsam und es ist ungeeignet um komplette Projekte auf einmal zu versionenieren. (Vielleicht war ich von dem uralten Ding auch viel zu angewidert um mich lange genug damit auseianderzusetzen...)
VSS2005 habe ich direkt nicht getestet. Aber ich habe zur Evaluierung zu Hause die Beta des Team Systems Servers laufen. :love:
Eine bessere Lösung habe ich noch nicht gesehen. :thuimb: (Nur ist man da wohl auf ein VS05 mit Team Systems client angewiesen :roll: )

Robert Marquardt 22. Jun 2005 12:15

Re: Versionsverwaltung
 
VS2005 hat so seine Macken. Ich habe eine DLL, die mit VS 6 uebersetzt 48K hat und mit VS2005 80K.
Ob das jetzt wirklich mehr Code, oder nur schlecht gepackte Segmente sind, weiss ich nicht.
Auf jeden Fall ist es unmoeglich VS2005 die Manifest-Resource abzugewoehnen, obwohl die DLL keine braucht.

Zerolith 23. Jun 2005 08:36

Re: Versionsverwaltung
 
Also vielen Dank erstmal,

wenn ich von meiner Geschäftsreise wieder zurück bin werde ich mir also:

- SubVersion (Hat jemand evtl ein gutes Tut wie man den Server einrichtet?)
- Visual SourceSafe 2005 (hab die VS 2005 Beta 2 daheim)
- Jedi VCS
- Starteam

anschauen

jetzt würd ich mich freuen falls ihr mir zusätzlich noch empfehlungen für WinDiff alternativen geben könnt.


ich hab bereits vor ein paar monaten versucht Starteam bei uns einzuführen. Allerdings hat sich ein Teil der Entwickler gesträubt
"ahhh viel zu kompiziert", "wofür denn das", "da hätte ich ja mehr arbeit"...

Mittlerweile sind wir (alle Projektleiter und der Chef) überzeugt dass wir nur so etwas ordnung reinbringen.
Langsam hängts uns echt zum hals raus:

- einen Fehler 5 Versionen lang zu haben
- in der 6. ist er dann draussen
- und in der 7. wieder drin.

echt zum kotzten. Man kann nicht von uns erwarten jede Version auf alle mal gefundenen Fehler wieder und wieder zu testen. Und Dispositionssoftware ist wirklich richtig umfangreich.

Danke nochmals an alle,
Daniel

ltiefland 23. Jun 2005 08:45

Re: Versionsverwaltung
 
In diesem Buch steht eigentlich alles drin, was man wissen muß. Ich empfehle die PDF-Version zur Version 1.1.0. Diese Anleitung ist immer noch aktuell (auch bei der Version 1.2.0), da sich hier nicht allzuviel getan hat.

w3seek 23. Jun 2005 11:30

Re: Versionsverwaltung
 
Kann auch nur sehr zu Subversion raten ;)

DerDan 24. Jun 2005 15:40

Re: Versionsverwaltung
 
Du solltest dir auf jeden fall auch Perforce anschauen


derDan

Tyrael Y. 24. Jun 2005 15:49

Re: Versionsverwaltung
 
Wir verwenden Surround SCM von Seapine und sind damit sehr zufrieden...

unfan 24. Jun 2005 18:20

Re: Versionsverwaltung
 
@Zerolith:

Mal was generelles:

- Ihr entwickelt eigene Software.
- Ihr habt 6 Entwickler.

Sorry, aber was für eine Vollpfeife ist denn bei euch als Entwicklungsleiter angestellt?

Nicht mal ein VCS habt ihr?
Ich wette das ihr auch kein Bug Tracking System einsetzt.
Eine (interne) Spezifikation eurer Software gibts bestimmt auch nicht !?

Eure Entwickler halten nichts von Versionsverwaltungen?

UND IHR WOLLT EINE SOFTWARE-SCHMIEDE SEIN???

Hört sich imho alles mächtig amateurhaft an!

Ich habe vor Jahren auch mal in so einem Unternehmen gearbeitet. Es war Chaos pur als ich dort angekommen bin. Keine specs, kein VCS, kein BugTrakker, keine daily-builds, ... Ich habe damals versucht den Leuten professionelles Entwickeln beizubringen, aber da war das Kind schon in den Brunnen gefallen. Ich habe nach 4 Wochen wieder die Flucht ergriffen. Rate mal was mit der Firma heute los ist. Sie ist PLEITE!

Ich möchte euch nicht angreifen, aber versucht mal schnellstens ein wenig Professionalität in eure Entwicklungsabteilung zu bringen!

Wenn DU für das Team verantwortlich bist, würde ich mir an Deiner Stelle asap. einige Bücher über Software-Projektmanagement/Teammanagement durchlesen.

*kopfschüttel*

HeikoAdams 24. Jun 2005 18:46

Re: Versionsverwaltung
 
Zitat:

Zitat von unfan
Wenn DU für das Team verantwortlich bist, würde ich mir an Deiner Stelle asap. einige Bücher über Software-Projektmanagement/Teammanagement durchlesen.

Da kann ich nur das Buch "IT-Projektmanagement praxisorientiert" http://www.amazon.de/exec/obidos/ASIN/3898423964/delphipraxis-21 empfehlen :wink:

Gruß

Heiko

generic 25. Jun 2005 01:43

Re: Versionsverwaltung
 
Subversion in der Web-Entwicklung
http://www.loetmann.de/blog/files/subversion.pdf

GuenterS 25. Jun 2005 09:18

Re: Versionsverwaltung
 
Zitat:

Zitat von alcaeus
Moin Zerolith,

Delphi 2005 hat auch schon ein rudimentaeres CVS eingebaut, allerdings AFAIK erst ab der Pro. Ansonsten kann ich auch noch Visual SourceSafe empfehlen (von MS), ich habe 3 Monate damit gearbeitet und es ist wirklich sehr einfach. Wie Phoenix bereits gesagt hat, direkt aus der IDE damit zu arbeiten geht leider nicht. Aber man gewoehnt es sich schnell an, jeden Tag die aktuellsten Sourcen rueberzuholen und immer was auszuchecken, bevor mans editiert (geht sonst auch nicht -> Schreibschutz ;))

Greetz
alcaeus

Und genau das ist der Punkt, der mich stört, sonst könnte man ja auch gleich FreeVCS nehmen, des lockt die Files auch.

Würde eher SubVersion oder CVS empfehlen, da hast Du diese Probleme nicht.

alcaeus 25. Jun 2005 09:29

Re: Versionsverwaltung
 
Zitat:

Zitat von GuenterS
Und genau das ist der Punkt, der mich stört, sonst könnte man ja auch gleich FreeVCS nehmen, des lockt die Files auch.

Warum stoert dich das? Mach im Delphi-Editor den Haken bei "Schreibschutz" im Kontextmenue weg, und du kannst die Datei in der IDE bearbeiten, aber nicht speichern. Wenn du eine Datei auschecken musst, bevor du die Aenderungen speichern kannst, hast du auch einen besseren Ueberblick ueber die bearbeiteten Dateien ;)

Greetz
alcaeus

GuenterS 25. Jun 2005 09:37

Re: Versionsverwaltung
 
Zitat:

Zitat von alcaeus
Zitat:

Zitat von GuenterS
Und genau das ist der Punkt, der mich stört, sonst könnte man ja auch gleich FreeVCS nehmen, des lockt die Files auch.

Warum stoert dich das? Mach im Delphi-Editor den Haken bei "Schreibschutz" im Kontextmenue weg, und du kannst die Datei in der IDE bearbeiten, aber nicht speichern. Wenn du eine Datei auschecken musst, bevor du die Aenderungen speichern kannst, hast du auch einen besseren Ueberblick ueber die bearbeiteten Dateien ;)

Greetz
alcaeus

Und warum sich künstlich Probleme einbauen? Du sagst es ja eh selbst Du kannst es editieren, aber leider nicht speichern.

Das sehe ich ist eines der größten Nachteile bei VS und FreeVCS. Ob bei VS 2005 dies verbessert worden ist weiß ich nicht.

Ist eines der besten Ärgernisse in der Arbeit schlechthin. Wann bist Du endlich fertig, ich möcht auch endlich in genau der SourceDatei was machen. Wann kommt er wieder ausm Urlaub? Glaubst er hat einen Stand den man einchecken darf/sollte? Dabei will ich doch nur den TippFehler in Formular X ändern.


Da seh ich bei SVN nur Vorteile, all das ist ohne Probleme möglich.

BenBE 28. Jun 2005 21:06

Re: Versionsverwaltung
 
TortoiseCVS (und evtl. auch TortoiseSVN; nicht getestet) laufen auch ohne, dass man lokal einen Server installiert hat.

Verwendet man jedoch Netzwerk-Pfade, so muss man die Nutzung von Netzlaufwerken erst explizit per Konfiguration erlauben. Danach läuft aber das Repo per :local:-Zugriff wie aals wenn ein Server vorhanden wäre. Der Username, der zum Einchecken verwendet wird, ist in diesem Fall dann der lokale Windows-Anmeldename des Users.

Selber kann ich TortoiseCVS auch brennend empfehlen.

Ein weiterer Client für CVS-Integration in die Delphi-IDE ist BorCVS, jedoch war ich bei diesem Client nicht wirklich überzeugt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 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