software engineering i leif geiger 1 fg software engineering teamorganisation: versionsverwaltung...
TRANSCRIPT
![Page 1: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/1.jpg)
Software Engineering I
Leif Geiger
1
FG Software Engineering
Teamorganisation: Versionsverwaltung
Übersicht• Wofür Versionskontrolle?• Sperrmechanismen• Systeme• Beispiel• Besonderheiten• CVS mit eclipse• Tools
![Page 2: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/2.jpg)
Software Engineering I
Leif Geiger
2
FG Software Engineering
Wofür Versionskontrolle?
![Page 3: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/3.jpg)
Software Engineering I
Leif Geiger
3
FG Software Engineering
Sperrmechanismen
pessimistische Sperren
• explizite Sperre pro Datei
• keine konkurrierenden Zugriffe keine Konflikte
![Page 4: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/4.jpg)
Software Engineering I
Leif Geiger
4
FG Software Engineering
Sperrmechanismen
optimistische Sperren
• Sperre nur beim einchecken
• update (Synchronisation) jeder Zeit möglich Konflikte (semiautomatische Behebung)
![Page 5: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/5.jpg)
Software Engineering I
Leif Geiger
5
FG Software Engineering
Systeme
● RCS – Revision Control System, der Anfang● CVS - Concurrent Versions System, der Klassiker
– keine Verzeichnisse– kein Umbenennen / Verschieben– kein Check-In Begriff– aber: gute Tool-Unterstützung
● SVN – Subversion, verbessertes CVS● Git – verteilte Versionsverwaltung, Linux Kernel
Entwicklung● Mercurial - OpenSolaris, XEN, Kernel-Entwicklung
![Page 6: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/6.jpg)
Software Engineering I
Leif Geiger
6
FG Software Engineering
CVS Beispiel
● Alice, Bob arbeiten an einem Projekt● beide checken die Version 1.1 vom Server aus● Alice bearbeitet die Datei Server.java, Client.java
(Zeile 42)● Bob bearbeitet Helper.java und Client.java (Zeile
23)● Alice checkt ein● Bob versucht einzuchecken Fehler● Bob führt ein Update durch
– neue Server.java– Merge von Client.java, kein Konflikt
● Bob checkt ein
![Page 7: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/7.jpg)
Software Engineering I
Leif Geiger
7
FG Software Engineering
CVS Beispiel Teil 2
● Bob ändert in HtmlPanel.java (Zeile 42)● Bob checkt ein● Alice ändert in HtmlPanel.java (Zeile 42)● Alice macht ein Update Konflikt
<<<<<<< HtmlPanel.javadoc1 = (HTMLDocument) html.getDocument();
=======doc = html.getDocument();
>>>>>>> 1.4● Alice behebt den Konflikt● Alice checkt ein
![Page 8: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/8.jpg)
Software Engineering I
Leif Geiger
8
FG Software Engineering
Timestamps / Tags / Branches
• CVS speichert (Rückwärts-)Deltas Wiederherstellen alter Versionen möglich• Versionen identifizierbar durch
– Timestamps– Revision Numbers– Markierungen (Tags)
• Verzweigungen (Branches) sind möglich
v 1.1
v 1.1.1.1
v 1.1.2.1
v 1.1.3.1
v 1.2 v 1.2.1.1
v 1.2.2.1
![Page 9: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/9.jpg)
Software Engineering I
Leif Geiger
9
FG Software Engineering
CVS mit eclipse
![Page 10: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/10.jpg)
Software Engineering I
Leif Geiger
10
FG Software Engineering
Konflikte
![Page 11: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/11.jpg)
Software Engineering I
Leif Geiger
11
FG Software Engineering
Tools: cvsmail
![Page 12: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/12.jpg)
Software Engineering I
Leif Geiger
12
FG Software Engineering
Tools: cvsweb
![Page 13: Software Engineering I Leif Geiger 1 FG Software Engineering Teamorganisation: Versionsverwaltung Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme](https://reader035.vdocuments.net/reader035/viewer/2022062622/55204d6749795902118bca36/html5/thumbnails/13.jpg)
Software Engineering I
Leif Geiger
13
FG Software Engineering
Tools: cvsstat