Programmieren mit Pascal & Delphi

Arbeiten mit Delphi

Erste Schritte mit Delphi

Einführung in PVCS mit Delphi

Ein Programmversionskontrollsystem oder kurz PVCS ist seit Delphi 2.0 in der Client/Server-Version als abgespeckte Version des „PVCS Version Manager“ der Firma InterSolv enthalten. Standard-Versionen von Delphi kennen diese Zusatzlizenz nicht, so daß nicht zwangsläufig jeder Delphi-Anwender dieses Software-Paket in seiner Delphi-IDE vorfindet. Die Integration des PVCS in die Entwicklungsumgebung erfolgt unter dem Menüpunkt „Workgroups“ unabhängig davon, ob eine deutsche oder englische Delphi-Version vorliegt.

Das Haupteinsatzgebiet eines PVCS ist das Programmieren im Team, wo mehrere Entwickler möglicherweise auf die gleichen Dateien zugreifen und diese ändern. Das PVCS verwaltet in diesem Fall alle Änderungen an den zum Projekt gehörenden Dateien. So können mehrere Entwickler an ein und derselben Datei arbeiten und auch die DPR-Projekt-Datei, auf die jeder Entwickler zum Kompilieren Zugriff haben muß, kann von jedem Entwickler geöffnet werden.

PVCS bietet aber auch einem einzelnen Entwickler unschätzbare Vorteile, weil das System jederzeit in der Lage ist, auf einen früheren Stand zurückzugehen, was mittels einfacher Backup-Kopien nicht so einfach ist und zumindest ein sehr diszipliniertes Arbeiten mit noch mehr Handikaps zur Folge hat. PVCS hingegen leistet dies alles automatisch, sofern man sich an die Spielregeln hält, die jedoch von System zu System unterschiedlich definiert sind.

Leistungsumfang

Unter Delphi arbeitet das PVCS mit vier wesentlichen Begriffen, die für ein erfolgreiches Arbeiten wichtig sind:

  • Projekt
  • Version
  • Archiv
  • Revision

Delphi-PVCS

Ein Projekt des PVCS entspricht im wesentlichen einem Projekt in Delphi. Es umfaßt sämtliche Dateien, die zur Erstellung eines Delphi-Projekts erforderlich sind.

Projekt

Das Archiv ist eine Datei, in der alle Änderungen am Projekt gespeichert und verwaltet werden.

Archiv

Eine Revision beschreibt einen speziellen Stand einer Datei. Jede Änderung einer Datei, die in das Archiv zurückgestellt wird, führt automatisch zu einer neuen Revision.

Revision

Alle Revisionen der Projektdateien, die im Archiv eine identische Beschriftung haben, gehören zu einer Version. In Delphis PVCS werden diese Beschriftungen über Labels realisiert, anhand derer sich alle zusammengehörenden Revisionen eines Projektstands ermitteln lassen. Damit z.B. auch jederzeit eine „Version“ restauriert werden kann, müssen der oder die Entwickler die einzelnen Revisionen korrekt beschriften.

Version

Delphi verwendet sowohl in der Logik als auch in der Bedienung des PVCS die Begriffe „einchecken“ und „auschekken“. Diese beiden Begriffe kann man sehr gut auseinanderhalten, wenn die Vorsilbe vom Rest getrennt wird. Mit „aus-checken“ bezeichnet Delphi das Kopieren einer Revision aus dem Archiv heraus zur Weiterbearbeitung durch einen Entwickler. Umkehrt bedeutet das „einchecken“ das erneute Einfügen einer geänderten Datei in das Archiv, was das PVCS veranlaßt, eine neue Revision zu erzeugen.

Arbeiten mit dem PVCS

Zu Beginn der Arbeit mit dem PVCS oder spätestens beim Erzeugen des ersten Archivs müssen Pfade für das Verwalten der Datenwörterbücher festgelegt werden, in denen projektspezifische Informationen abgelegt werden. Das öffentliche Verzeichnis sollte dem gesamten Team zugänglich sein. Hier wird für jedes Projekt ein Unterverzeichnis angelegt sowie die Datei PVCSPROJ.PUB, die Informationen zu jedem Projekt enthält.

Abbildung 4/4.2.4.1-1: Datenverzeichnisse für das Verwalten des Projekts

Für das Erzeugen des Archivs werden zwei weitere Verzeichnisse für die Arbeitsdatei und das Archiv abgefragt:

Abbildung 4/4.2.4.1-2: Archiv für Projekt anlegen

Wird bei den Erstellungsoptionen „Alle Dateien einchecken“ aktiviert, führt das Anlegen eines neuen Projekts automatisch dazu, daß sämtliche Dateien des Delphi-Projekts in das PVCS-Projekt übernommen werden, so daß es nicht erforderlich ist, jede Datei einzeln einzuchecken.

Die Option „Alle Dateien gesperrt halten“ sperrt alle Dateien automatisch beim Einchecken, so daß andere Entwickler erst dann auf die Dateien zugreifen können, wenn derjenige, der sie eincheckte, wieder entsperrt hat.

Ein- und Auschecken

Die Benutzerkennung, die PVCS zur Kennzeichnung der Benutzer bzw. Sperrer verwendet, wird unter Windows 95 und NT unterschiedlich ermittelt. Für Windows 95 ist die Benutzerkennung in der Datei AUTOEXEC.BAT wie folgt einzutragen:

SET VCSID=

Wobei „“ der entsprechende Benutzername ist. Unter Windows NT kann man sich die DOS-Variable sparen, da das PVCS unter NT direkt die VCSID-Kennung verwendet, mit der sich der Anwender unter Windows NT angemeldet hat.

Benutzerkennung

Die Projektoptionen können einen Schreibschutz für Archive und Dateien vorsehen, was primär dem Schutz vor versehentlichem Löschen oder Überschreiben dient, da die entsprechenden Dateien nach wie vor sichtbar sind, auch wenn es sich um Archive oder archivierte Dateien handelt. Mit „Journale erzeugen“ wird das PVCS angewiesen, ein Protokoll aller Aktionen zu erstellen, anhand dessen sich alle Änderungen am Projekt zeitlich geordnet einsehen lassen. Die Journaldatei heißt „JOURNAL.VCS“ und wird im entsprechenden Archivverzeichnis angelegt.

Projektoptionen

Ist die Einstellungsoption „Beschreibungen eingeben“ aktiv, bringt das PVCS nach dem Erzeugen des Archivs den Beschreibungsdialog auf den Bildschirm.

Abbildung 4/4.2.4.1-3: Beschreibung für das Projekt eingeben

Diese Beschreibungen haben allerdings nichts mit dem Versionslabel zu tun, sondern sollen lediglich helfen, Ordnung zu halten.

Beschreibung eingeben

Über den Menübefehl „PVCS-Projekte durchsuchen“ gelangt man in das Projektfenster, das als zentrale Schaltstelle für die Arbeit am Projekt dient.

Abbildung 4/4.2.4.1-4: Projektanzeige im Projektfenster

Im linken Teil des Projektfensters werden alle angemeldeten Projekte aufgelistet, sowie die zugehörigen Dateien, wenn die einzelnen Zweige des Baums aufgeklappt werden.

Die rechte Hälfte des Fensters listet alle Dateien auf, die zum jeweils aktiven Projekt oder Projektelement gehören.

Neben dem Dateinamen, dessen letzter Buchstabe der Erweiterung in ein „v“ umgewandelt wird, zeigt die Liste die Anzahl der Revisionen für jede Datei, sowie die Anzahl der Sperren, die Einstellzeit sowie die Zugriffsliste und die Archivbeschreibung.

Projektfenster

Nach dem Anklicken eines Elements auf der linken Seite, werden die zugehörigen Revisionen im rechten Fenster angezeigt.

Abbildung 4/4.2.4.1-5: Anzeige der Revisionen

Die Revisionsnummern der ersten Spalte werden vom PVCS automatisch in aufsteigender Reihenfolge vergeben. Desweiteren werden Eincheckzeit, Autor und Beschreibung aufgeführt. Ein Schloß anstelle des Standardsymbols vor der Revisionsnummer zeigt an, daß die entsprechende Revision gerade gesperrt ist.

Revisionsliste

Nach einem weiteren Mausklick auf eine Revision im linken Fenster, zeigt das rechte Fenster die Revisionsdetails an.

Abbildung 4/4.2.4.1-6: Details einer Revision in der Übersicht

Revisionsdetails

Das PVCS wird primär über Speedbuttons gesteuert, die lediglich einige Hints einblenden, aber sonst keine Menüentsprechungen besitzen. Die Bedeutung der einzelnen Schalter von links nach rechts:

Symbolleiste

  • Hinzufügen
  • Aus-Checken
  • Ein-Checken

Datei

  • Hinzufügen
  • Entfernen
  • Bearbeiten

Versions-Label

  • Sperren
  • Entsperren

Datei

  • Archiv
  • Unterschiede

Speziell die Berichte geben weiteren Einblick in die Entstehungsgeschichte der Projekte, da sie alles protokollieren, was im Archiv passiert bzw. an Änderungen vorgenommen wird.

Bericht

Für das Aus-Checken von Dateien unterstützt das PVCS weitere Optionen. Neben der Wahl des Arbeitsverzeichnisses erlaubt der aufpoppende Dialog das Vorgeben von Zugriffsattributen für die Ausgecheckte Datei. Zur Auswahl stehen:

  • Nur Lesen
  • Beschreibbar
  • Beschreibbar und gesperrt

Abbildung 4/4.2.4.1-7: Datei Aus-Checken

Konfigurationsdateien

Dateien Aus-Checken

Im öffentlichen Verzeichnis steht eine Datei namens PVCSPROJ.PUB von der eine Kopie unter dem Namen PVCSPROJ.PRV im privaten Arbeitsverzeichnis zu finden ist. Diese Datei enthält alle im PVCS angemeldeten Projekte.

[FORMAT=PVCS_GUI]
Version=5.2
 
[Project=WinKauf]
CFG=C:\Programme\Borland\Delphi 3.0\PVCS\WinKauf.prj\WinKauf.cfg
DIR=WinKauf.prj
WKDIR=D:\cop\test
OWNERSHIP=PUBLIC

Der Aufbau dieser Datei entspricht dem üblichen INI-Format. Die Zeile CFG verweist auf das Verzeichnis, in dem die Konfigurationsdatei abgelegt ist, auf die weiter unten eingegangen wird. Das Verzeichnis DIR entspricht dem öffentlichen Verzeichnis und WKDIR dem persönlichen Arbeitsverzeichnis, in das die Dateien ausgecheckt werden. Der Eintrag OWNERSHIP=PUBLIC zeigt ferner an, daß es sich um ein öffentliches Projekt im Netz handelt.

Projektliste

Die Konfigurationsdatei, die zu jedem Projekt existiert, ist in einem speziellen Verzeichnis unterhalb des öffentlichen Verzeichnisses abgelegt. Für das oben gezeigte Projekt WINKAUF enthält diese Datei die Einträge:

# VERSION PVCS Version Manager_5.2.00
VCSDir=d:\cop
WRITEPROTECT
NODELETEWORK WRITEPROTECT
LOGIN=HOST,VCSID,UNKNOWN
MULTILOCK REVISION
NOEXPANDKEYWORDS
JOURNAL

Konfigurationsdatei

Der Eintrag VCSDir enthält den Pfad auf die Archivdateien. Es können hier auch mehrere Dateien angegeben werden, die jeweils durch ein Semikolon getrennt sind. Für Zugriffe durchsucht das PVCS den Pfad von links nach rechts.

VCSDir

Das Schlüsselwort WRITEPROTECT zeigt an, daß das Archiv schreibgeschützt angelegt wurde, was als Option beim Erzeugen des Archivs gesetzt werden konnte.

WRITEPROTECT

Die Anweisung NODELETEWORK WRITEPROTECT bewirkt, daß eine Datei nach dem Einchecken nicht von der Festplatte gelöscht wird. Soll dies erfolgen, müßte stattdessen das Schlüsselwort DELETEWORK verwendet werden. Dann wäre jede eingecheckte Datei im Archiv vorhanden, aber nicht mehr auf der Festplatte. Über den optionalen Befehl WRITEPROTECT wird zusätzlich das schreibschutzattribut für die eingecheckte Datei gesetzt, was durch NOWRITEPROTECT verhindert werden kann.

NODELETEWORK WRITEPROTECT

Das Schlüsselwort LOGIN bezeichnet die Quellen, aus denen das PVCS eine Benutzerkennung entnehmen darf. Mögliche Quellen sind:

Konstante

Bedeutung

HOST

Betriebssysteme wie Windows NT

VCSID

VCSID-Kennung

NETWARE

Novell Netware

LANMAN

Microsoft LAN Manager

UNKNOWN

Wenn keine VCSID unter DOS spezifiziert wurde

LOGIN

Die Klausel MULTILOCK REVISION erlaubt das gleichzeitige Bearbeiten mehrerer Revisionen einer Datei. Dies ist jedoch unter Delphi bedingt durch die eingeschränkte PVCS-Version nicht möglich, da die entsprechenden PVCS-Tools fehlen, so daß man auch gleich NOMULTILOCK REVISION schreiben könnte.

MULTILOCK REVISION

Diese Einstellung kann nach der Erzeugung eines Archivs nicht mehr geändert werden. Die Anweisung verhindert, daß Schlüsselwörter wie zum Beispiel $Revision$, die im Quelltext des Programms vorkommen, automatisch beim Einchekken um die entsprechenden Informationen ergänzt werden. Wird dies gewünscht, läßt sich dies über EXPANDKEYWORDS vorgeben.

NOEXPANDKEYWORDS

Das Schlüsselwort JOURNAL veranlaßt das PVCS, alle Änderungen an Projekt zu protokollieren.

Änderungen an der Konfigurationsdatei sind zwar möglich, sollten jedoch mit Bedacht vorgenommen werden, da eine unbedachte Änderung schnell zur Instabilität des PVCS-Gesamtsystems führen kann. Etwas anderes ist es jedoch, wenn man die Vollversion des PVCS besitzt. Denn dann liegen die entsprechenden Tools gleich mit bei.

JOURNAL





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-02-22 22:14:52 von textarchiv.alojado.de