Subversion

Eine Versionskontrolle zu nutzen ist im Bereich der professionellen Softwareentwicklung heute nicht mehr weg zu denken. Hier hat man die Wahl zwischen unterschiedlichen kommerziellen Systemen und Open-Source Varianten. Subversion hat sich den Ruf einer zuverlässigen und benutzerfreundlichen Lösung erworben.

In dieser Schulung werden die verschiedenen Varianten der Installation aufgezeigt. Die grundlegenden Operationen wie z.B. das Ein- und Aus-checken vom Dateien/Verzeichnissen und auch die Arbeit mit Branches und Tags. Wenn man "branchd" muss man auch mergen und hier wird aufgezeigt, welche Möglichkeiten Subversion dazu bietet. Unter welchen Umständen ist es sinnvoll einen Lock auf Dateien zu verwenden und wann sollte man das besser nicht tun? Welche Vorteile hat der Einsatz einer Versionskontrolle, wenn man "nur" alleine arbeitet? Wie sieht das in einem Team aus? Heute wird ja auch oft "out-gesourced"; wie beeinflusst das die Arbeit mit Subversion und welche Möglichkeiten bietet es dabei?

Es werden Möglichkeiten zur feineren Kontrolle mit sog. Hook-Scripten aufgezeigt wie z.B. die Beschränkung der Erstellung von Branches, die Kontrolle der Log Nachrichten, etc.

Manchmal kommt man zu einem Punkt wo spezielle Wünsche vorhanden sind, die es notwendig machen Scripte zu schreiben, um das Problem zu lösen. Welche Besonderheiten gilt es hierbei zu beachten?

Welche Auswirkung hat die Organisation von Projekten auf das Konfigurationsmanagement? Module vs. Feature orientierte Entwicklung.

Trainer und Dozenten

Karl Heinz Marbaise ist seit ca. 25 Jahren im Bereich der Softwareentwicklung tätig. Seit ca. 20 Jahren beschäftigt er sich mit Versionskontrollsystemen wie mit RCS, CVS, ClearCase und später mit Subversion und Git. Er führt seit Jahren Beratungen und Trainings im Bereich Software Konfigurationsmanagement (Subversion, Branching Strategien, Migrationsberatung), Build Management (Ant, Maven, Hudson/Jenkins) und Entwicklungsprozesse durch. Weiterhin hält er auf verschiedensten Konferenzen (z.B. Subversion Konferenz, GearConf) zu entsprechenden Themengebieten Vorträge.

Voraussetzungen

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

Inhalt

Neben den grundlegenden Inhalten wie z.B. Ein- und Auschecken, Branches erzeugen, Tags erzeugen etc. wird Ihnen vermittelt, wie Sie diese technischen Grundlagen im Projektalltag anwenden und zur Lösung Ihrer Probleme nutzen können. Dazu zählt beispielsweise die Nutzung im Bereich Build- und Configuration Managment (Branching Strategien) und als Unterstützung für das Projekt- und Release Management (Branching als Mittel zur Projekt- und Release Planung). Wie kann man bestimmte Regelvorgaben mithilfe von Subversion entsprechend umsetzen: z.B. Größenbeschränkungen bei Dateien oder das nur bestimmte Gruppen von Leuten einen Branch erzeugen dürfen etc. Eine Versionskontrolle ist ein guter Schritt aber wie verfolgt man Änderungen? Hierzu ist die Nutzung eines Issue Tracking Systems und eine entsprechende Integration mit Subversion angebracht.

Es wird auch auf die unterschiedlichen Werkzeuge eingegangen, die in einer Softwareentwicklung genutzt werden. Dazu zählt der Bereich des Build Managements z.B. Ant oder Maven und auch die IDE wie z.B. Eclipse oder Netbeans und deren Integration von Subversion. Der Bereich des Continous Integration, vertreten durch Werkzeuge wie Hudson wird auch aufgezeigt.

  • Konzepte von Subversion
  • Ein- Auschecken
  • Taggen
  • Branchen
  • Properties
  • Locking
  • Hook-Scripte
  • Best-Practice
  • Administration
  • Installation
  • Branching Strategien
  • Zusammenarbeit mit Issue Tracking System z.B. Redmine
  • etc.

Selbstverständlich darf ein Vergleich zwischen SVN als einem Vertreter der zentralisierten Versionskontrollsysteme und verteilten Versionskontrollsysteme hier nicht fehlen.

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.