


Nächste Seite: Aufgabe: Releasemanagement (50 Punkte) Aufwärts: aufgaben Vorherige Seite: Aufgabe: Reengineering (50 Punkte)
Aufgabe: Versionsmanagement (100 Punkte)
Zeitschätzung: 24h
Zur Weiterentwicklung von PI-SET/TT soll der Quellcode in einem anderen Versionsmanagement-System (CVS) gespeichert werden. Da auch externe Programmierer eingesetzt werden, die nicht innerhalb des Firmennetzwerks arbeiten, soll ein entfernter Zugriff auf CVS möglich sein.
- Informieren Sie sich, wie man ein CVS-Repository für den
entfernten Zugriff einrichtet. Ihr Chef wünscht, daß sich alle
Mitarbeiter mit einem Login-Namen und Passwort bei CVS anmelden
müssen, bevor sie darauf zugreifen können.
- Nachdem Sie sich mit der Dokumentation beschäftigt haben, legen
Sie ein neues CVS-Repository für eine Gruppe von drei
Programmierern an, denen Sie einen Passwortzugang nach CVS
einrichten. Nutzen Sie hierfür das pserver-Protokoll von CVS. Das
CVS-Repository muß im Verzeichnis $HOME/cvshome liegen, damit der
Zugriff mittels pserver-Protokoll funktioniert. Der Zugriff erfolgt
über die Maschine pi72.informatik.uni-siegen.de.
- Anschließend erstellen Sie die neue Struktur für die Software,
die Sie sich in
Aufgabe 2.3 überlegt
haben. Um den Quellcode aus dem alten CVS-Repository unter
Beibehaltung der Versionshistorie in das neue Repository zu
überführen, gibt es mindestens zwei Ansätze. Beschreiben Sie
die beiden Ansätze und diskutieren Sie die Vor- und
Nachteile. Realisieren Sie einen Ansatz.
- Markieren Sie alle aktuellen Versionen, um später den
Ausgangszustand der Änderungen wieder rekonstruieren zu können.
- Wie Sie bei der Umstrukturierung sicherlich festgestellt haben,
basiert PI-SET/TT auf der Komponente genform. An dieser soll
unabhängig entwickelt werden können, ohne immer den ganzen
Quelltext von PI-SET/TT mit auschecken zu müssen. Nutzen Sie hierzu
die Möglichkeiten von CVS.
- Ihr Chef hat von einem Bekannten gehört, der ebenfalls Chef
eines kleinen Softwarehauses ist, daß es mit CVS möglich sein
soll, sich über Änderungen an einzelnen Dateien informieren zu
lassen. Er möchte, daß Sie CVS so konfigurieren, daß er über
alle Commits per E-Mail informiert wird.
- Desweiteren möchte Ihr Chef, daß Sie eine Möglichkeit finden,
damit er sich darüber informieren kann, welcher Programmierer wann
welche Zeile in einer bestimmten Datei geändert hat und wie der
aktuelle Zustand einer Datei im Workspace ist.
- Ihr Chef möchte den Programmierern ein Werkzeug zur Verfügung
stellen, mit dem es möglich ist, Unterschiede zwischen zwei
Datei-Versionen anzuzeigen und zu mischen. Er nannte Ihnen tkdiff
aus dem tkcvs-Paket und Guiffy. Begutachten Sie beide Werkzeuge.
Welche Unterschiede gibt es und welche Gemeinsamkeiten?
- Während Sie das CVS-Repository vorbereiten, hat ein Freelancer
einige bahnbrechende Funktionen implementiert (PI-SET/TT - jetzt
noch besser). Sie wissen, daß der Freelancer auf der Version vom
1.1.2001 aufgesetzt hat. Deswegen sollen Sie den Zustand des
Repository vom 1.1.2001 auschecken und darauf einen Nebenentwicklungszweig
anlegen. Der Quellcode vom Freelancer soll dann in den
Nebenentwicklungszweig eingespielt werden.
- Mischen Sie den Quellcode des Nebenentwicklungszweigs in den
Hauptentwicklungszweig ein. Beachten Sie, daß Sie evtl. auftretende
Konflikte nicht lösen, sondern sich nur eine Lösungsstrategie überlegen.
Material: 6.3



Nächste Seite: Aufgabe: Releasemanagement (50 Punkte) Aufwärts: aufgaben Vorherige Seite: Aufgabe: Reengineering (50 Punkte) Michael Welle 2004-02-15