1 / 13

Teamorganisation: Versionsverwaltung

Teamorganisation: Versionsverwaltung. Übersicht Wofür Versionskontrolle? Sperrmechanismen Systeme Beispiel Besonderheiten CVS mit eclipse Tools. Wofür Versionskontrolle?. Sperrmechanismen. pessimistische Sperren • explizite Sperre pro Datei

Download Presentation

Teamorganisation: Versionsverwaltung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teamorganisation: Versionsverwaltung Übersicht • Wofür Versionskontrolle? • Sperrmechanismen • Systeme • Beispiel • Besonderheiten • CVS mit eclipse • Tools

  2. Wofür Versionskontrolle?

  3. Sperrmechanismen pessimistische Sperren • explizite Sperre pro Datei • keine konkurrierenden Zugriffe  keine Konflikte

  4. Sperrmechanismen optimistische Sperren • Sperre nur beim einchecken • update (Synchronisation) jeder Zeit möglich  Konflikte (semiautomatische Behebung)

  5. 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

  6. 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

  7. 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.java doc1 = (HTMLDocument) html.getDocument(); ======= doc = html.getDocument(); >>>>>>> 1.4 • Alice behebt den Konflikt • Alice checkt ein

  8. 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.1.1 v 1.1 v 1.1.2.1 v 1.2 v 1.2.1.1 v 1.1.3.1 v 1.2.2.1

  9. CVS mit eclipse

  10. Konflikte

  11. Tools: cvsmail

  12. Tools: cvsweb

  13. Tools: cvsstat

More Related