Versionierung

...oder Zeitsprünge für Programmierer...

© Konrad Rosenbaum

this presentation is protected by the GNU General Public License version 2 or any newer

Worum geht es?

VCS = Version Control Systems

Auch: SCM (Source Control Management)

...

“Speichern von beliebig vielen unterschiedlichen Versionen einer Datei/eines Dateibaumes”

Was ist Versionierung?

Server/Repository speichert Kopie aller Versionen

Working Copy enthält einen Stand (normalerweise neuesten)

Mehrere Nutzer können parallel daran arbeiten

Warum der Aufwand?

Backup

Falls wichtige Code-Teile verloren gehen

Support

Man kann jede Version anschauen

Release-Management/Q.A.

Man kann Releases markieren und testen

Koordination

Mehrere Entwickler arbeiten ohne sich zu behindern

VCSn

SCCS

RCS

CVS

Subversion

Arch (tla)

Monotone

svk

etc.

Bitkeeper

Visual Source Safe

Perforce

etc.

Grundbegriffe

Checkin / Checkout

Lock / Merge

Revision / Version

Branch

Tag

Blessing Level

Granularität

Transaktion / Atomare Checkins

Lock vs. Merge

Lock-Modify-Unlock

Sperren bevor man Datei bearbeit

Konflikte unmöglich

Gefahr von ungewolltem Aussperren

Copy-Modify-Merge

Jeder kann gleichzeitig arbeiten

Merge meist automatisch möglich

Konflikte selten

2005-04-21T19:47:16