Mercurial SCM

Versionskontrolle mit Mercurial

Mercurial SCM ist ein verteiltes Versionskontrollsystem, das sich sowohl in kleinen wie in großen Softwareprojekten großer Beliebtheit erfreut. Bekanntere Beispiele sind Mozilla Firefox, Google Chrome, Microsoft CodePlex oder Oracle OpenJDK.

In diesem Kurs lernen Sie nach einem kurzen Einstieg den Umgang mit den mächtigeren Features von Mercurial. Sie lernen, wie sich Mercurial von anderen Versionskontrollsystemen abhebt und wo sie sich ähneln. Und Sie lernen, wie Sie Mercurial SCM einsetzen können, um die Entwickungsergebnisse in Ihrem Team effizient und sicher zu koordinieren.

Versionskontrolle ist ein mächtiges Werkzeug für jeden Entwicklungsprozess. Da oft nicht nur der aktuelle Stand einer Entwicklung, sondern auch die Herkunft und die Veränderungen über die Zeit interessant sind, sollen diese aufbewahrt und schnell und einfach zugänglich gemacht werden.

Noch wichtiger ist dies, wenn mehrere Mitarbeiter am gleichen Projekt arbeiten: Jeder Mitarbeiter soll gleichzeitig arbeiten können, ohne jedoch die Integrität des Projektes oder die Arbeit der anderen zu gefährden.

Mercurial SCM ermöglicht all das – und noch viel mehr.

Trainer und Dozenten

Johannes Spielmann ist ein erfahrener Entwickler und benutzt Mercurial seit mehreren Jahren erfolgreich in verschiedensten Projekten: Von der Web-Entwicklung über internes Tooling bis hin zu wissenschaftlichen Arbeiten.

Voraussetzungen

Unix Kommandozeile, Windows Kommandozeile bzw. Windows oder Mac Kenntnisse. Kenntnisse im Bereich einer Programmiersprache sind durchaus hilfreich.

Inhalt

  • Ein Überblick über Versionskontrolle im Allgemeinen und dessen Geschichte
  • Verteilte Versionskontrolle und die Unterschiede zu nicht-verteilten Systemen
  • Anlegen eines Repositories: hg init, hg log, hg diff
  • grundlegende Operationen: hg add, hg commit, hg update
  • Tagging: hg tag
  • Repository-Einstellungen und globale Einstellungen
  • Branching und Merging
  • Erstellen und Einspielen von Patches
  • Mercurial-Erweiterungen einstellen und benutzen: graphlog, transplant, rebase, gpg
  • Arbeiten mit mehreren Repositories: hg clone, hg pull, hg push
  • Organisation und Zusammenarbeit in Teams
  • Ein Standardmodell für die Organisation von verteilten Versionen (Best Practices)
  • Importieren bestehender Repositories: CVS/SVN
  • Interaktion mit git
  • Hosting: Einrichtung, Betrieb und Veröffentlichung eigener Repositories

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.