Mercurial
Mercurial (hg) ist ein modernes, verteiltes Versions-Kontroll-System (DVCS), siehe auch Wikipedia über Mercurial.
Schulung / Workshop
Dozent: Thomas Waldmann (Mercurial-Admin und -Benutzer seit Anfang 2006 [vorher GNU Arch (tla) DVCS, vorher CVS], Python-Entwickler)
Zielgruppe / Voraussetzungen:
- Teil A:
- Erfahrene Computer-Anwender
- VCS-Grundkenntnisse (z.B. mit RCS, CVS oder SVN) vorteilhaft
- Englisch-Kenntnisse
- Teil B:
- Software-Entwickler
- wie oben, zusätzlich:
- Linux-/UNIX-Kenntnisse (Bedienung auf Shell-Ebene)
Dauer: ca. 1-1.5 Tage
Bitte beachten Sie die Voraussetzungen für Vor-Ort-Schulungen::
- geeignete Projektionsfläche für Beamer Dozent
- Tafel / Whiteboard / o.ä.
- alle Teilnehmer-PCs:
- vernetzt im gleichen Subnet
- mit SSH-Client (openssh, Putty)
mit TortoiseHg (Teil A)
- Für Teil B: Übungen werden auf Linux-PC des Dozenten per ssh/screen ausgeführt.
Inhalt
Teil A (Zielgruppe: Anwender)
(T = Theorie (ggf. mit Demo) / Ü = prakt. Übung):
- T Einleitung:
- Grundlagen Versionskontrolle: Repository, Changeset, ...
- Unterschiede VCS / DVCS, Vorteile DVCS
- spezielle Vorteile von Mercurial
- T/Ü: Bedienung eines Mercurial-Repositories mit:
- tortoiseHg
- Mercurial's Web-Oberfläche
Teil B (Zielgruppe: Entwickler)
(T = Theorie (ggf. mit Demo) / Ü = prakt. Übung):
- T+Ü Kurzintro ssh/screen (wird im weiteren Verlauf benötigt)
- T+Ü hg Benutzer-Konfiguration / Hilfe zu hg Kommandos
- T Lokale Arbeit mit Mercurial: init, add, rm, status, diff, commit, log, revert, clone, pull, push, ...
- Ü Anlegen eines neuen Repositories, Importieren von Dateien
- Ü Arbeiten im Arbeitsverzeichnis, mit dem Repository
- Ü Den Überblick behalten: was habe ich geändert, hinzugefügt, gelöscht, verschoben?
- Ü Committen von Changesets und was man vorher tut.
- T Entwicklungslinien
- Ü Verwendung von mehreren lokalen Repositories / Clones und deren Anwendung.
- Ü Merging / Cherrypicking
- T Arbeit mit nicht-lokalen Repositories
- Ü adhoc via http (shell, nicht Browser)
- Ü einfache Variante via ssh
- T+Ü Praxis mit Mercurial
- Was ist ein "clean changeset"?
- und was man tun kann, wenn man bereits zu viel hat
- Hinweise zu sinnvollen Commit-Comments
- Korrektes Kopieren und Umbenennen von Dateien
- Ignorieren von Dateien / Pfaden
- Eindeutige Identifizierung eines Changsets
- "Wer war das?"
- Tagging
- Pannen und deren Beseitigung
- falscher Commit
- versehentlich 2 remote Heads erzeugt
- Hinweise zu großen Binärdateien.
- Was ist ein "clean changeset"?
- Installation von hg-extensions - ein Beispiel.
Materialien:
- Vortragsfolien
- Übungsblätter
- Literaturhinweise