SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle mit Apache Subversion
Mathias Magdowski
Lehrstuhl für Elektromagnetische Verträglichkeit
Institut für Medizintechnik
Otto-von-Guericke-Universität, Magdeburg
Versionskontrolle 1
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Gliederung
Nachteile ohne Versionskontrolle
Vorteile mit Versionskontrolle
Konzepte
Software
Demo
Zusammenfassung
Versionskontrolle 2
Nachteile ohne Versionskontrolle
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Szenarios ohne Versionskontrolle
Schreiben einer Abschlussarbeit:
über 6 Monate
60 bis 80 Seiten
Entwurf → Ausarbeitung → Abgabe → Begutachtung
unzählige Änderungen, Korrekturen, Überarbeitungen
Versionskontrolle 4
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Szenarios ohne Versionskontrolle
Schreiben einer Abschlussarbeit:
über 6 Monate
60 bis 80 Seiten
Entwurf → Ausarbeitung → Abgabe → Begutachtung
unzählige Änderungen, Korrekturen, Überarbeitungen
Probleme:
Welche ist die letzte Version?
Versionskontrolle 4
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Szenarios ohne Versionskontrolle
Schreiben einer Abschlussarbeit:
über 6 Monate
60 bis 80 Seiten
Entwurf → Ausarbeitung → Abgabe → Begutachtung
unzählige Änderungen, Korrekturen, Überarbeitungen
Probleme:
Welche ist die letzte Version?
Was habe ich im März 2015 geändert?
Versionskontrolle 4
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Szenarios ohne Versionskontrolle
Schreiben einer Abschlussarbeit:
über 6 Monate
60 bis 80 Seiten
Entwurf → Ausarbeitung → Abgabe → Begutachtung
unzählige Änderungen, Korrekturen, Überarbeitungen
Probleme:
Welche ist die letzte Version?
Was habe ich im März 2015 geändert?
Wann habe ich den Abschnitt auf Seite 3 überarbeitet?
Versionskontrolle 4
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle 5
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Quelle: nathanwpyle (Nathan W Pyle, New York City) https://www.instagram.com/p/BoSDLPoF_TU/
Versionskontrolle 6
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Szenarios ohne Versionskontrolle
Umsetzung eines Softwareprojekts:
über mehrere Jahre
tausende Zeilen Quelltext, viele abhängige Funktionen
mehrere Entwickler
unzählige Programmerweiterungen und Fehlerbehebungen
Versionskontrolle 7
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Szenarios ohne Versionskontrolle
Umsetzung eines Softwareprojekts:
über mehrere Jahre
tausende Zeilen Quelltext, viele abhängige Funktionen
mehrere Entwickler
unzählige Programmerweiterungen und Fehlerbehebungen
Probleme:
Welche ist die letzte Version? Wer hat sie?
Versionskontrolle 7
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Szenarios ohne Versionskontrolle
Umsetzung eines Softwareprojekts:
über mehrere Jahre
tausende Zeilen Quelltext, viele abhängige Funktionen
mehrere Entwickler
unzählige Programmerweiterungen und Fehlerbehebungen
Probleme:
Welche ist die letzte Version? Wer hat sie?
Wer hat die Funktion x geschrieben?
Versionskontrolle 7
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Szenarios ohne Versionskontrolle
Umsetzung eines Softwareprojekts:
über mehrere Jahre
tausende Zeilen Quelltext, viele abhängige Funktionen
mehrere Entwickler
unzählige Programmerweiterungen und Fehlerbehebungen
Probleme:
Welche ist die letzte Version? Wer hat sie?
Wer hat die Funktion x geschrieben?
Wann wurde das Format für y in Programm z geändert?
Versionskontrolle 7
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Welche genau jetzt?
Versionskontrolle 8
Vorteile mit Versionskontrolle
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle
Man kann:
auf jede Version (von der
ursprünglichen bis zur jetzigen)
zugreifen
sehen, wer, was, wann geändert hat
zusammen an einer Datei bzw.
einem Projekt arbeiten
Änderungen oder Versionen
kommentieren
Änderungen rückgängig machen
Versionskontrolle 10
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle
Man kann:
auf jede Version (von der
ursprünglichen bis zur jetzigen)
zugreifen
sehen, wer, was, wann geändert hat
zusammen an einer Datei bzw.
einem Projekt arbeiten
Änderungen oder Versionen
kommentieren
Änderungen rückgängig machen
https:
//motherearthseries.
files.wordpress.com/
2013/04/undo_key.jpg
Versionskontrolle 10
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Studenten benutzen es nicht . . .
http://www.loc.gov/exhibits/treasures/images/tlc0090.jpg
. . . weil die Betreuer es nicht benutzen
Versionskontrolle 11
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle
Geeignet für:
Quelltexte, Texte, Dokumente
Rohdaten von Messungen oder Diagrammen
Versionskontrolle 12
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle
Geeignet für:
Quelltexte, Texte, Dokumente
Rohdaten von Messungen oder Diagrammen
Bedingt geeignet für:
Bilder und Grafiken
Versionskontrolle 12
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle
Geeignet für:
Quelltexte, Texte, Dokumente
Rohdaten von Messungen oder Diagrammen
Bedingt geeignet für:
Bilder und Grafiken
Nicht geeignet für:
große Binärdateien
Videos, Animationen
Versionskontrolle 12
Konzepte
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Begriffe
Repository:
Speicherort für die Daten
alle Versionen in Form einer Datenbank
lokal oder auf einem Webserver
Versionskontrolle 14
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Begriffe
Repository:
Speicherort für die Daten
alle Versionen in Form einer Datenbank
lokal oder auf einem Webserver
Arbeitskopie:
lokaler Speicherort für die entsprechende Version
nur aktueller (oder älterer) Stand für die Bearbeitung
kann jederzeit aus dem Repository erzeugt werden
Versionskontrolle 14
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Erstellen einer lokalen Arbeitskopie
Repository
Arbeitskopie
Checkout
Versionskontrolle 15
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Datenaustausch
Repository
Arbeitskopie
Update Commit
Versionskontrolle 16
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Arten
Lokale Versionsverwaltung:
Repository ist lokal gespeichert
oft wird nur eine Datei versioniert (z. B. Büroanwendungen)
Versionskontrolle 17
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Arten
Lokale Versionsverwaltung:
Repository ist lokal gespeichert
oft wird nur eine Datei versioniert (z. B. Büroanwendungen)
Zentrale Versionsverwaltung:
Client-Server-System, Netzwerkzugriff aufs Repository
Rechteverwaltung
Versionskontrolle 17
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Arten
Lokale Versionsverwaltung:
Repository ist lokal gespeichert
oft wird nur eine Datei versioniert (z. B. Büroanwendungen)
Zentrale Versionsverwaltung:
Client-Server-System, Netzwerkzugriff aufs Repository
Rechteverwaltung
Verteilte Versionsverwaltung:
jeder hat sein eigenes Repository, gegenseitiger Abgleich
Versionskontrolle 17
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Erstellen eines lokalen Repositories
Repository A Repository B
Clone
Versionskontrolle 18
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Datenaustausch in der verteilten Versionsverwaltung
Repository A Repository B
Arbeitskopie
Update Commit
Push
Pull
Versionskontrolle 19
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Änderungskonzepte
Lock Modify Write:
Sperrung einer Datei vor einer Änderung
Freigabe nach Abschluss der Änderung
kein Zusammenführen von Versionen nötig
Versionskontrolle 20
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Änderungskonzepte
Lock Modify Write:
Sperrung einer Datei vor einer Änderung
Freigabe nach Abschluss der Änderung
kein Zusammenführen von Versionen nötig
Copy Modify Merge:
gleichzeitige Änderungen durch mehrere Benutzer an
einer Datei sind möglich
Änderungen werden automatisch oder manuell
zusammengeführt (Merge)
Versionskontrolle 20
Software
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Concurrent Versions System (CVS)
Eigenschaften:
das klassische Versionskontrollsystem
wird nicht mehr aktiv weiterentwickelt
lokales Repository oder über Webserver
ursprünglich ein reines Kommandozeilen-Programm
Versionskontrolle 22
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Concurrent Versions System (CVS)
Eigenschaften:
das klassische Versionskontrollsystem
wird nicht mehr aktiv weiterentwickelt
lokales Repository oder über Webserver
ursprünglich ein reines Kommandozeilen-Programm
GUI für Windows:
TortoiseCVS von http://www.tortoisecvs.org
Versionskontrolle 22
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Apache Subversion (SVN)
Eigenschaften:
Quasi-Nachfolger von CVS
zentrales Projektarchiv mit einfacher Revisionszählung
es werden nur die Unterschiede übertragen
erlaubt das Verschieben und Umbenennen von Dateien
Versionskontrolle 23
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Apache Subversion (SVN)
Eigenschaften:
Quasi-Nachfolger von CVS
zentrales Projektarchiv mit einfacher Revisionszählung
es werden nur die Unterschiede übertragen
erlaubt das Verschieben und Umbenennen von Dateien
GUI für Windows:
TortoiseSVN von http://tortoisesvn.net
http://blogs.wandisco.com/tag/tortoisesvn/
Versionskontrolle 23
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Mercurial (hg)
Eigenschaften:
verteiltes Versionskontrollsystem
fast vollständig in Python entwickelt
alle Kommandos beginnen mit hg
effizient, skalierbar und robust
Versionskontrolle 24
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Mercurial (hg)
Eigenschaften:
verteiltes Versionskontrollsystem
fast vollständig in Python entwickelt
alle Kommandos beginnen mit hg
effizient, skalierbar und robust
GUI für Windows:
TortoiseHg von http://tortoisehg.bitbucket.org
Versionskontrolle 24
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Git
Eigenschaften:
verteiltes Versionskontrollsystem
für den Linux-Kernel entwickelt
kryptographische Sicherheit
webbasiertes Hosting im GitHub
Versionskontrolle 25
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Git
Eigenschaften:
verteiltes Versionskontrollsystem
für den Linux-Kernel entwickelt
kryptographische Sicherheit
webbasiertes Hosting im GitHub
GUI für Windows:
TortoiseGit von https://tortoisegit.org/
http://www.kodteyner.com/2014/01/17/
Versionskontrolle 25
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
https://xkcd.com/1597/
Versionskontrolle 26
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Namensgebung
Linus Torvalds auf git.wiki.kernel.org:
I’m an egotistical bastard, and I name all my projects
after myself. First „Linux“, now „Git“.
Versionskontrolle 27
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Namensgebung
Linus Torvalds auf git.wiki.kernel.org:
I’m an egotistical bastard, and I name all my projects
after myself. First „Linux“, now „Git“.
Linus Torvalds in Lord of the Files: How GitHub Tamed
Free Software (And More):
The joke ‘I name all my projects for myself, first Li-
nux, then git’ was just too good to pass up. But it is
also short, easy-to-say, and type on a standard key-
board. And reasonably unique and not any standard
command, which is unusual.
Versionskontrolle 27
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Verwendung
CVS:
viele Open-Source-Projekte (früher)
SVN:
Free Pascal, FreeBSD, GCC, Mono
hg:
Facebook, Mozilla (Firefox, Thunderbird), SourceForge, Google
Inc. (Google Chrome, Google Code), Atlassian (Bitbucket)
Git:
Android, Debian, Fedora, Git selbst, KDE, LibreOffice,
Linux-Kernel, Perl, PHP, Ruby, Samba, VLC media player, Wine
Versionskontrolle 28
Demo
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Repository erstellen
1. leeren Ordner erstellen (z. B. auf Desktop)
2. umbenennen in „Repository“
3. Rechtsklick → „TortoiseSVN“ → „Create repository here“
→ „Ok“
4. Ordner bekommt ein spezielles Icon und den
entsprechenden Inhalt für die Datenbank
Versionskontrolle 30
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Arbeitskopie erstellen
1. leeren Ordner erstellen (z. B. auf Desktop)
2. umbenennen in „Arbeitskopie“
3. Rechtsklick → „SVN Checkout“
4. URL of repository:
file:///C:/Users/xxx/Desktop/Repository oder
den Ordner mittels „...“ auswählen
5. „Ok“
6. „Checkout Finished!“ mit „Ok“ bestätigen
7. Ordner bekommt ein spezielles, grünes Icon und einen
Unterordner .svn
Versionskontrolle 31
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
LaTeX-Quelltext hinzufügen
1. Datei „test.tex“ anlegen
2. Inhalt:
documentclass{scrartcl}
begin{document}
Hallo Welt!
end{document}
3. Abspeichern und mit pdflatex kompilieren
Versionskontrolle 32
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Commit in das Repository
1. Rechtsklick auf den Ordner „Arbeitskopie“ → „SVN
Commit“
2. bei „Message:“ einen sinnvollen Kommentar eingeben
3. nur die Datei test.txt anklicken
4. bei allen anderen Dateien: Rechtsklick → „Add to ignore
list“ → *.xxx (mit xxx als Dateiendung)
5. „Ok“
6. „Commit Finished!“ mit „Ok“ bestätigen
7. Ordner sollte wieder ein grünes Icon haben
Versionskontrolle 33
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
LaTeX-Quelltext ändern
1. Datei „test.tex“ öffnen
2. irgendwas am Inhalt ändern, z. B. eine Zeile hinzufügen
Das ist eine neue Zeile.
3. Abspeichern und mit pdflatex kompilieren
4. Ordner bekommt ein rotes Icon
Versionskontrolle 34
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Commit der Änderungen in das Repository
1. Rechtsklick auf den Ordner „Arbeitskopie“ → „SVN
Commit“
2. bei „Message:“ einen sinnvollen Kommentar eingeben
3. Rechtsklick auf die Datei text.tex → „Compare with
base“
4. Prüfen den Änderungen und Schließen des
„TortoiseMerge“
5. „Ok“
6. „Commit Finished!“ mit „Ok“ bestätigen
7. Ordner sollte wieder ein grünes Icon bekommen
Versionskontrolle 35
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Zweite Arbeitskopie erstellen
1. leeren Ordner erstellen (z. B. auf Desktop)
2. umbenennen in „Arbeitskopie2“
3. Rechtsklick → „SVN Checkout“
4. URL of repository:
file:///C:/Users/xxx/Desktop/Repository oder
den Ordner mittels „...“ auswählen
5. „Ok“
6. „Checkout Finished!“ mit „Ok“ bestätigen
7. Ordner bekommt ein spezielles, grünes Icon und einen
Unterordner .svn
Versionskontrolle 36
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
LaTeX-Quelltext in den zweiten Arbeitskopie ändern
1. Datei „test.tex“ in der „Arbeitskopie2“ öffnen
2. irgendwas am Inhalt ändern, z. B. eine Zeile hinzufügen
Das ist noch eine neue Zeile.
3. Abspeichern und mit pdflatex kompilieren
4. Ordner bekommt ein rotes Icon
Versionskontrolle 37
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Commit der Änderungen in das Repository
1. Rechtsklick auf den Ordner „Arbeitskopie2“ → „SVN
Commit“
2. bei „Message:“ einen sinnvollen Kommentar eingeben
3. Rechtsklick auf die Datei text.tex → „Compare with
base“
4. Prüfen den Änderungen und Schließen des
„TortoiseMerge“
5. „Ok“
6. „Commit Finished!“ mit „Ok“ bestätigen
7. Ordner sollte wieder ein grünes Icon bekommen
Versionskontrolle 38
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Update der ersten Arbeitskopie
1. Rechtsklick auf den Ordner „Arbeitskopie“ → „SVN
Update“
2. Nachverfolgung der Änderungen mit „Show log . . . “
3. Rechtsklick auf die Datei text.tex → „Show changes“ in
jeder Revision
4. „TortoiseMerge“ und „TortoiseSVN“ schließen
5. „Commit Finished!“ mit „Ok“ bestätigen
6. Ordner sollte wieder ein grünes Icon haben
Versionskontrolle 39
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Weitere Dinge, die man ausprobieren sollte
(falsche) Änderungen mit „Revert“ rückgängig machen
Urheber von Änderungen mit „Blame“ sichtbar machen
Änderungen und Commit in „Arbeitskopie“; Änderung,
Update und Commit in „Arbeitskopie2“
Änderung unterschiedlicher Stellen → automatische
Zusammenführung
Änderung der gleichen Stelle → Konflikt
Umbenennen einer versionierten Datei mittels „SVN
Rename“
Verschieben einer versionierten Datei mittels „SVN Move“
Wiederherstellen eine alter Version mittels „Update to
revision“
Versionskontrolle 40
Zusammenfassung
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Zusammenfassung
Versionskontrolle ist ein extrem nützliches Werkzeug
erfolgreicher Einsatz für:
MATLAB-Quelltexte
Python-Messprogramme
Vorlesungsskripte, Übungsaufgaben,
Praktikumsanleitungen, GET-Buch, Jahres- und
Institutsberichte (in LATEX)
aller Anfang ist schwer (am Ende verstehen es aber auch
die Sekretärinnen)
man muss sich auf ein System festlegen
Versionskontrolle 42
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Verbleibende Probleme
https://xkcd.com/221/
Versionskontrolle 43
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle 44
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
https://xkcd.com/1597/
Versionskontrolle 45
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Versionskontrolle 46
Nachteile Vorteile Konzepte Software Demo Zusammenfassung
Vielen Dank für Eure Aufmerksamkeit!
Gibt es Fragen?
Versionskontrolle 47

Weitere ähnliche Inhalte

Ähnlich wie Versionskontrolle mit Apache Subversion

Das neue Windows 8 UI und wichtige Apps
Das neue Windows 8 UI und wichtige AppsDas neue Windows 8 UI und wichtige Apps
Das neue Windows 8 UI und wichtige AppsDigicomp Academy AG
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsGünther Haslbeck
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3Peter Kraume
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenPeter Rozek
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & ToolsUlrich Krause
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsThorsten Kamann
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Mario Müller
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnMartin Seibert
 
Software Metrics and Continuous Integration
Software Metrics and Continuous IntegrationSoftware Metrics and Continuous Integration
Software Metrics and Continuous IntegrationMilena Reichel
 
Tools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
Tools zur Diagnose von Weblogic Performanceengpässen und FehlerzuständenTools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
Tools zur Diagnose von Weblogic Performanceengpässen und FehlerzuständenOPITZ CONSULTING Deutschland
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersUlrich Krause
 
Build Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessBuild Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessRalf Abramowitsch
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Teambrandts
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Hendrik Lösch
 
GitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comGitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comB1 Systems GmbH
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 

Ähnlich wie Versionskontrolle mit Apache Subversion (20)

Das neue Windows 8 UI und wichtige Apps
Das neue Windows 8 UI und wichtige AppsDas neue Windows 8 UI und wichtige Apps
Das neue Windows 8 UI und wichtige Apps
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web Applications
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
 
Bit wisem 2015-wieners-sitzung-09_Software-Entwicklung
Bit wisem 2015-wieners-sitzung-09_Software-EntwicklungBit wisem 2015-wieners-sitzung-09_Software-Entwicklung
Bit wisem 2015-wieners-sitzung-09_Software-Entwicklung
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development Environments
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Git vs SVN DevCon 2011
Git vs SVN DevCon 2011
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
Software Metrics and Continuous Integration
Software Metrics and Continuous IntegrationSoftware Metrics and Continuous Integration
Software Metrics and Continuous Integration
 
Tools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
Tools zur Diagnose von Weblogic Performanceengpässen und FehlerzuständenTools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
Tools zur Diagnose von Weblogic Performanceengpässen und Fehlerzuständen
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
Build Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessBuild Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build Prozess
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
Deployment 2.0
Deployment 2.0Deployment 2.0
Deployment 2.0
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
GitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comGitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.com
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 

Mehr von Mathias Magdowski

Do's and Don'ts für mobile Streamsetups - Beitrag zum #ScienceVideoCamp2024 d...
Do's and Don'ts für mobile Streamsetups - Beitrag zum #ScienceVideoCamp2024 d...Do's and Don'ts für mobile Streamsetups - Beitrag zum #ScienceVideoCamp2024 d...
Do's and Don'ts für mobile Streamsetups - Beitrag zum #ScienceVideoCamp2024 d...Mathias Magdowski
 
MINT-Mitmachaktionen und Tage der offenen Labortür - Diskussionsbeitrag zur V...
MINT-Mitmachaktionen und Tage der offenen Labortür - Diskussionsbeitrag zur V...MINT-Mitmachaktionen und Tage der offenen Labortür - Diskussionsbeitrag zur V...
MINT-Mitmachaktionen und Tage der offenen Labortür - Diskussionsbeitrag zur V...Mathias Magdowski
 
Kern-Curriculum und Laborversuche für die EMV-Lehre von heute
Kern-Curriculum und Laborversuche für die EMV-Lehre von heuteKern-Curriculum und Laborversuche für die EMV-Lehre von heute
Kern-Curriculum und Laborversuche für die EMV-Lehre von heuteMathias Magdowski
 
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!Mathias Magdowski
 
Wie man ein gutes Paper (für das LEGO-Praktikum) schreibt
Wie man ein gutes Paper (für das LEGO-Praktikum) schreibtWie man ein gutes Paper (für das LEGO-Praktikum) schreibt
Wie man ein gutes Paper (für das LEGO-Praktikum) schreibtMathias Magdowski
 
Use ChatGPT in Electrical Engineering (!?) - Contribution to the event "AI To...
Use ChatGPT in Electrical Engineering (!?) - Contribution to the event "AI To...Use ChatGPT in Electrical Engineering (!?) - Contribution to the event "AI To...
Use ChatGPT in Electrical Engineering (!?) - Contribution to the event "AI To...Mathias Magdowski
 
ChatGPT nutzen in der Elektrotechnik (!?) - Beitrag zur Veranstaltung "KI-Too...
ChatGPT nutzen in der Elektrotechnik (!?) - Beitrag zur Veranstaltung "KI-Too...ChatGPT nutzen in der Elektrotechnik (!?) - Beitrag zur Veranstaltung "KI-Too...
ChatGPT nutzen in der Elektrotechnik (!?) - Beitrag zur Veranstaltung "KI-Too...Mathias Magdowski
 
Chancen und Herausforderungen von ChatGPT - Wie kann mir ChatGPT helfen, mein...
Chancen und Herausforderungen von ChatGPT - Wie kann mir ChatGPT helfen, mein...Chancen und Herausforderungen von ChatGPT - Wie kann mir ChatGPT helfen, mein...
Chancen und Herausforderungen von ChatGPT - Wie kann mir ChatGPT helfen, mein...Mathias Magdowski
 
Well Stirred is Half Measured - EMC Tests in Reverberation Chambers
Well Stirred is Half Measured - EMC Tests in Reverberation ChambersWell Stirred is Half Measured - EMC Tests in Reverberation Chambers
Well Stirred is Half Measured - EMC Tests in Reverberation ChambersMathias Magdowski
 
Digitale Tools in hybriden Lehrformaten einsetzen Beitrag zu den Hochschuldid...
Digitale Tools in hybriden Lehrformaten einsetzen Beitrag zu den Hochschuldid...Digitale Tools in hybriden Lehrformaten einsetzen Beitrag zu den Hochschuldid...
Digitale Tools in hybriden Lehrformaten einsetzen Beitrag zu den Hochschuldid...Mathias Magdowski
 
Hybride Lehrformate erfolgreich gestalten - Beitrag zum Workshop on E-Learnin...
Hybride Lehrformate erfolgreich gestalten - Beitrag zum Workshop on E-Learnin...Hybride Lehrformate erfolgreich gestalten - Beitrag zum Workshop on E-Learnin...
Hybride Lehrformate erfolgreich gestalten - Beitrag zum Workshop on E-Learnin...Mathias Magdowski
 
Why the Wire is on Fire - Electromagnetic Field Coupling to Transmission Lines
Why the Wire is on Fire - Electromagnetic Field Coupling to Transmission LinesWhy the Wire is on Fire - Electromagnetic Field Coupling to Transmission Lines
Why the Wire is on Fire - Electromagnetic Field Coupling to Transmission LinesMathias Magdowski
 
Calculation of conversion factors for the RVC method in accordance with CISPR...
Calculation of conversion factors for the RVC method in accordance with CISPR...Calculation of conversion factors for the RVC method in accordance with CISPR...
Calculation of conversion factors for the RVC method in accordance with CISPR...Mathias Magdowski
 
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...Mathias Magdowski
 
Chancen und Herausforderungen von ChatGPT in der ingenieurwissenschaftlichen ...
Chancen und Herausforderungen von ChatGPT in der ingenieurwissenschaftlichen ...Chancen und Herausforderungen von ChatGPT in der ingenieurwissenschaftlichen ...
Chancen und Herausforderungen von ChatGPT in der ingenieurwissenschaftlichen ...Mathias Magdowski
 
Wie kann mir ChatGPT helfen, meine Elektrotechnik-Prüfung zu bestehen?
Wie kann mir ChatGPT helfen, meine Elektrotechnik-Prüfung zu bestehen?Wie kann mir ChatGPT helfen, meine Elektrotechnik-Prüfung zu bestehen?
Wie kann mir ChatGPT helfen, meine Elektrotechnik-Prüfung zu bestehen?Mathias Magdowski
 
Prüfungen, in denen Studierende gern zeigen, was sie können - Online-Workshop...
Prüfungen, in denen Studierende gern zeigen, was sie können - Online-Workshop...Prüfungen, in denen Studierende gern zeigen, was sie können - Online-Workshop...
Prüfungen, in denen Studierende gern zeigen, was sie können - Online-Workshop...Mathias Magdowski
 
Offene und alternative Prüfungsformate - Schulinterne Lehrer*innen-Fortbildun...
Offene und alternative Prüfungsformate - Schulinterne Lehrer*innen-Fortbildun...Offene und alternative Prüfungsformate - Schulinterne Lehrer*innen-Fortbildun...
Offene und alternative Prüfungsformate - Schulinterne Lehrer*innen-Fortbildun...Mathias Magdowski
 
Appetit auf Hybrid? - Praktische Rezepte für Technik und Didaktik in synchron...
Appetit auf Hybrid? - Praktische Rezepte für Technik und Didaktik in synchron...Appetit auf Hybrid? - Praktische Rezepte für Technik und Didaktik in synchron...
Appetit auf Hybrid? - Praktische Rezepte für Technik und Didaktik in synchron...Mathias Magdowski
 
Electromagnetic Compatibility Measurements in Reverberation Chambers
Electromagnetic Compatibility Measurements in Reverberation ChambersElectromagnetic Compatibility Measurements in Reverberation Chambers
Electromagnetic Compatibility Measurements in Reverberation ChambersMathias Magdowski
 

Mehr von Mathias Magdowski (20)

Do's and Don'ts für mobile Streamsetups - Beitrag zum #ScienceVideoCamp2024 d...
Do's and Don'ts für mobile Streamsetups - Beitrag zum #ScienceVideoCamp2024 d...Do's and Don'ts für mobile Streamsetups - Beitrag zum #ScienceVideoCamp2024 d...
Do's and Don'ts für mobile Streamsetups - Beitrag zum #ScienceVideoCamp2024 d...
 
MINT-Mitmachaktionen und Tage der offenen Labortür - Diskussionsbeitrag zur V...
MINT-Mitmachaktionen und Tage der offenen Labortür - Diskussionsbeitrag zur V...MINT-Mitmachaktionen und Tage der offenen Labortür - Diskussionsbeitrag zur V...
MINT-Mitmachaktionen und Tage der offenen Labortür - Diskussionsbeitrag zur V...
 
Kern-Curriculum und Laborversuche für die EMV-Lehre von heute
Kern-Curriculum und Laborversuche für die EMV-Lehre von heuteKern-Curriculum und Laborversuche für die EMV-Lehre von heute
Kern-Curriculum und Laborversuche für die EMV-Lehre von heute
 
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
 
Wie man ein gutes Paper (für das LEGO-Praktikum) schreibt
Wie man ein gutes Paper (für das LEGO-Praktikum) schreibtWie man ein gutes Paper (für das LEGO-Praktikum) schreibt
Wie man ein gutes Paper (für das LEGO-Praktikum) schreibt
 
Use ChatGPT in Electrical Engineering (!?) - Contribution to the event "AI To...
Use ChatGPT in Electrical Engineering (!?) - Contribution to the event "AI To...Use ChatGPT in Electrical Engineering (!?) - Contribution to the event "AI To...
Use ChatGPT in Electrical Engineering (!?) - Contribution to the event "AI To...
 
ChatGPT nutzen in der Elektrotechnik (!?) - Beitrag zur Veranstaltung "KI-Too...
ChatGPT nutzen in der Elektrotechnik (!?) - Beitrag zur Veranstaltung "KI-Too...ChatGPT nutzen in der Elektrotechnik (!?) - Beitrag zur Veranstaltung "KI-Too...
ChatGPT nutzen in der Elektrotechnik (!?) - Beitrag zur Veranstaltung "KI-Too...
 
Chancen und Herausforderungen von ChatGPT - Wie kann mir ChatGPT helfen, mein...
Chancen und Herausforderungen von ChatGPT - Wie kann mir ChatGPT helfen, mein...Chancen und Herausforderungen von ChatGPT - Wie kann mir ChatGPT helfen, mein...
Chancen und Herausforderungen von ChatGPT - Wie kann mir ChatGPT helfen, mein...
 
Well Stirred is Half Measured - EMC Tests in Reverberation Chambers
Well Stirred is Half Measured - EMC Tests in Reverberation ChambersWell Stirred is Half Measured - EMC Tests in Reverberation Chambers
Well Stirred is Half Measured - EMC Tests in Reverberation Chambers
 
Digitale Tools in hybriden Lehrformaten einsetzen Beitrag zu den Hochschuldid...
Digitale Tools in hybriden Lehrformaten einsetzen Beitrag zu den Hochschuldid...Digitale Tools in hybriden Lehrformaten einsetzen Beitrag zu den Hochschuldid...
Digitale Tools in hybriden Lehrformaten einsetzen Beitrag zu den Hochschuldid...
 
Hybride Lehrformate erfolgreich gestalten - Beitrag zum Workshop on E-Learnin...
Hybride Lehrformate erfolgreich gestalten - Beitrag zum Workshop on E-Learnin...Hybride Lehrformate erfolgreich gestalten - Beitrag zum Workshop on E-Learnin...
Hybride Lehrformate erfolgreich gestalten - Beitrag zum Workshop on E-Learnin...
 
Why the Wire is on Fire - Electromagnetic Field Coupling to Transmission Lines
Why the Wire is on Fire - Electromagnetic Field Coupling to Transmission LinesWhy the Wire is on Fire - Electromagnetic Field Coupling to Transmission Lines
Why the Wire is on Fire - Electromagnetic Field Coupling to Transmission Lines
 
Calculation of conversion factors for the RVC method in accordance with CISPR...
Calculation of conversion factors for the RVC method in accordance with CISPR...Calculation of conversion factors for the RVC method in accordance with CISPR...
Calculation of conversion factors for the RVC method in accordance with CISPR...
 
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
 
Chancen und Herausforderungen von ChatGPT in der ingenieurwissenschaftlichen ...
Chancen und Herausforderungen von ChatGPT in der ingenieurwissenschaftlichen ...Chancen und Herausforderungen von ChatGPT in der ingenieurwissenschaftlichen ...
Chancen und Herausforderungen von ChatGPT in der ingenieurwissenschaftlichen ...
 
Wie kann mir ChatGPT helfen, meine Elektrotechnik-Prüfung zu bestehen?
Wie kann mir ChatGPT helfen, meine Elektrotechnik-Prüfung zu bestehen?Wie kann mir ChatGPT helfen, meine Elektrotechnik-Prüfung zu bestehen?
Wie kann mir ChatGPT helfen, meine Elektrotechnik-Prüfung zu bestehen?
 
Prüfungen, in denen Studierende gern zeigen, was sie können - Online-Workshop...
Prüfungen, in denen Studierende gern zeigen, was sie können - Online-Workshop...Prüfungen, in denen Studierende gern zeigen, was sie können - Online-Workshop...
Prüfungen, in denen Studierende gern zeigen, was sie können - Online-Workshop...
 
Offene und alternative Prüfungsformate - Schulinterne Lehrer*innen-Fortbildun...
Offene und alternative Prüfungsformate - Schulinterne Lehrer*innen-Fortbildun...Offene und alternative Prüfungsformate - Schulinterne Lehrer*innen-Fortbildun...
Offene und alternative Prüfungsformate - Schulinterne Lehrer*innen-Fortbildun...
 
Appetit auf Hybrid? - Praktische Rezepte für Technik und Didaktik in synchron...
Appetit auf Hybrid? - Praktische Rezepte für Technik und Didaktik in synchron...Appetit auf Hybrid? - Praktische Rezepte für Technik und Didaktik in synchron...
Appetit auf Hybrid? - Praktische Rezepte für Technik und Didaktik in synchron...
 
Electromagnetic Compatibility Measurements in Reverberation Chambers
Electromagnetic Compatibility Measurements in Reverberation ChambersElectromagnetic Compatibility Measurements in Reverberation Chambers
Electromagnetic Compatibility Measurements in Reverberation Chambers
 

Versionskontrolle mit Apache Subversion

  • 1. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle mit Apache Subversion Mathias Magdowski Lehrstuhl für Elektromagnetische Verträglichkeit Institut für Medizintechnik Otto-von-Guericke-Universität, Magdeburg Versionskontrolle 1
  • 2. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Gliederung Nachteile ohne Versionskontrolle Vorteile mit Versionskontrolle Konzepte Software Demo Zusammenfassung Versionskontrolle 2
  • 4. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Szenarios ohne Versionskontrolle Schreiben einer Abschlussarbeit: über 6 Monate 60 bis 80 Seiten Entwurf → Ausarbeitung → Abgabe → Begutachtung unzählige Änderungen, Korrekturen, Überarbeitungen Versionskontrolle 4
  • 5. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Szenarios ohne Versionskontrolle Schreiben einer Abschlussarbeit: über 6 Monate 60 bis 80 Seiten Entwurf → Ausarbeitung → Abgabe → Begutachtung unzählige Änderungen, Korrekturen, Überarbeitungen Probleme: Welche ist die letzte Version? Versionskontrolle 4
  • 6. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Szenarios ohne Versionskontrolle Schreiben einer Abschlussarbeit: über 6 Monate 60 bis 80 Seiten Entwurf → Ausarbeitung → Abgabe → Begutachtung unzählige Änderungen, Korrekturen, Überarbeitungen Probleme: Welche ist die letzte Version? Was habe ich im März 2015 geändert? Versionskontrolle 4
  • 7. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Szenarios ohne Versionskontrolle Schreiben einer Abschlussarbeit: über 6 Monate 60 bis 80 Seiten Entwurf → Ausarbeitung → Abgabe → Begutachtung unzählige Änderungen, Korrekturen, Überarbeitungen Probleme: Welche ist die letzte Version? Was habe ich im März 2015 geändert? Wann habe ich den Abschnitt auf Seite 3 überarbeitet? Versionskontrolle 4
  • 8. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle 5
  • 9. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Quelle: nathanwpyle (Nathan W Pyle, New York City) https://www.instagram.com/p/BoSDLPoF_TU/ Versionskontrolle 6
  • 10. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Szenarios ohne Versionskontrolle Umsetzung eines Softwareprojekts: über mehrere Jahre tausende Zeilen Quelltext, viele abhängige Funktionen mehrere Entwickler unzählige Programmerweiterungen und Fehlerbehebungen Versionskontrolle 7
  • 11. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Szenarios ohne Versionskontrolle Umsetzung eines Softwareprojekts: über mehrere Jahre tausende Zeilen Quelltext, viele abhängige Funktionen mehrere Entwickler unzählige Programmerweiterungen und Fehlerbehebungen Probleme: Welche ist die letzte Version? Wer hat sie? Versionskontrolle 7
  • 12. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Szenarios ohne Versionskontrolle Umsetzung eines Softwareprojekts: über mehrere Jahre tausende Zeilen Quelltext, viele abhängige Funktionen mehrere Entwickler unzählige Programmerweiterungen und Fehlerbehebungen Probleme: Welche ist die letzte Version? Wer hat sie? Wer hat die Funktion x geschrieben? Versionskontrolle 7
  • 13. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Szenarios ohne Versionskontrolle Umsetzung eines Softwareprojekts: über mehrere Jahre tausende Zeilen Quelltext, viele abhängige Funktionen mehrere Entwickler unzählige Programmerweiterungen und Fehlerbehebungen Probleme: Welche ist die letzte Version? Wer hat sie? Wer hat die Funktion x geschrieben? Wann wurde das Format für y in Programm z geändert? Versionskontrolle 7
  • 14. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Welche genau jetzt? Versionskontrolle 8
  • 16. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle Man kann: auf jede Version (von der ursprünglichen bis zur jetzigen) zugreifen sehen, wer, was, wann geändert hat zusammen an einer Datei bzw. einem Projekt arbeiten Änderungen oder Versionen kommentieren Änderungen rückgängig machen Versionskontrolle 10
  • 17. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle Man kann: auf jede Version (von der ursprünglichen bis zur jetzigen) zugreifen sehen, wer, was, wann geändert hat zusammen an einer Datei bzw. einem Projekt arbeiten Änderungen oder Versionen kommentieren Änderungen rückgängig machen https: //motherearthseries. files.wordpress.com/ 2013/04/undo_key.jpg Versionskontrolle 10
  • 18. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Studenten benutzen es nicht . . . http://www.loc.gov/exhibits/treasures/images/tlc0090.jpg . . . weil die Betreuer es nicht benutzen Versionskontrolle 11
  • 19. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle Geeignet für: Quelltexte, Texte, Dokumente Rohdaten von Messungen oder Diagrammen Versionskontrolle 12
  • 20. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle Geeignet für: Quelltexte, Texte, Dokumente Rohdaten von Messungen oder Diagrammen Bedingt geeignet für: Bilder und Grafiken Versionskontrolle 12
  • 21. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle Geeignet für: Quelltexte, Texte, Dokumente Rohdaten von Messungen oder Diagrammen Bedingt geeignet für: Bilder und Grafiken Nicht geeignet für: große Binärdateien Videos, Animationen Versionskontrolle 12
  • 23. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Begriffe Repository: Speicherort für die Daten alle Versionen in Form einer Datenbank lokal oder auf einem Webserver Versionskontrolle 14
  • 24. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Begriffe Repository: Speicherort für die Daten alle Versionen in Form einer Datenbank lokal oder auf einem Webserver Arbeitskopie: lokaler Speicherort für die entsprechende Version nur aktueller (oder älterer) Stand für die Bearbeitung kann jederzeit aus dem Repository erzeugt werden Versionskontrolle 14
  • 25. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Erstellen einer lokalen Arbeitskopie Repository Arbeitskopie Checkout Versionskontrolle 15
  • 26. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Datenaustausch Repository Arbeitskopie Update Commit Versionskontrolle 16
  • 27. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Arten Lokale Versionsverwaltung: Repository ist lokal gespeichert oft wird nur eine Datei versioniert (z. B. Büroanwendungen) Versionskontrolle 17
  • 28. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Arten Lokale Versionsverwaltung: Repository ist lokal gespeichert oft wird nur eine Datei versioniert (z. B. Büroanwendungen) Zentrale Versionsverwaltung: Client-Server-System, Netzwerkzugriff aufs Repository Rechteverwaltung Versionskontrolle 17
  • 29. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Arten Lokale Versionsverwaltung: Repository ist lokal gespeichert oft wird nur eine Datei versioniert (z. B. Büroanwendungen) Zentrale Versionsverwaltung: Client-Server-System, Netzwerkzugriff aufs Repository Rechteverwaltung Verteilte Versionsverwaltung: jeder hat sein eigenes Repository, gegenseitiger Abgleich Versionskontrolle 17
  • 30. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Erstellen eines lokalen Repositories Repository A Repository B Clone Versionskontrolle 18
  • 31. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Datenaustausch in der verteilten Versionsverwaltung Repository A Repository B Arbeitskopie Update Commit Push Pull Versionskontrolle 19
  • 32. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Änderungskonzepte Lock Modify Write: Sperrung einer Datei vor einer Änderung Freigabe nach Abschluss der Änderung kein Zusammenführen von Versionen nötig Versionskontrolle 20
  • 33. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Änderungskonzepte Lock Modify Write: Sperrung einer Datei vor einer Änderung Freigabe nach Abschluss der Änderung kein Zusammenführen von Versionen nötig Copy Modify Merge: gleichzeitige Änderungen durch mehrere Benutzer an einer Datei sind möglich Änderungen werden automatisch oder manuell zusammengeführt (Merge) Versionskontrolle 20
  • 35. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Concurrent Versions System (CVS) Eigenschaften: das klassische Versionskontrollsystem wird nicht mehr aktiv weiterentwickelt lokales Repository oder über Webserver ursprünglich ein reines Kommandozeilen-Programm Versionskontrolle 22
  • 36. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Concurrent Versions System (CVS) Eigenschaften: das klassische Versionskontrollsystem wird nicht mehr aktiv weiterentwickelt lokales Repository oder über Webserver ursprünglich ein reines Kommandozeilen-Programm GUI für Windows: TortoiseCVS von http://www.tortoisecvs.org Versionskontrolle 22
  • 37. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Apache Subversion (SVN) Eigenschaften: Quasi-Nachfolger von CVS zentrales Projektarchiv mit einfacher Revisionszählung es werden nur die Unterschiede übertragen erlaubt das Verschieben und Umbenennen von Dateien Versionskontrolle 23
  • 38. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Apache Subversion (SVN) Eigenschaften: Quasi-Nachfolger von CVS zentrales Projektarchiv mit einfacher Revisionszählung es werden nur die Unterschiede übertragen erlaubt das Verschieben und Umbenennen von Dateien GUI für Windows: TortoiseSVN von http://tortoisesvn.net http://blogs.wandisco.com/tag/tortoisesvn/ Versionskontrolle 23
  • 39. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Mercurial (hg) Eigenschaften: verteiltes Versionskontrollsystem fast vollständig in Python entwickelt alle Kommandos beginnen mit hg effizient, skalierbar und robust Versionskontrolle 24
  • 40. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Mercurial (hg) Eigenschaften: verteiltes Versionskontrollsystem fast vollständig in Python entwickelt alle Kommandos beginnen mit hg effizient, skalierbar und robust GUI für Windows: TortoiseHg von http://tortoisehg.bitbucket.org Versionskontrolle 24
  • 41. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Git Eigenschaften: verteiltes Versionskontrollsystem für den Linux-Kernel entwickelt kryptographische Sicherheit webbasiertes Hosting im GitHub Versionskontrolle 25
  • 42. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Git Eigenschaften: verteiltes Versionskontrollsystem für den Linux-Kernel entwickelt kryptographische Sicherheit webbasiertes Hosting im GitHub GUI für Windows: TortoiseGit von https://tortoisegit.org/ http://www.kodteyner.com/2014/01/17/ Versionskontrolle 25
  • 43. Nachteile Vorteile Konzepte Software Demo Zusammenfassung https://xkcd.com/1597/ Versionskontrolle 26
  • 44. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Namensgebung Linus Torvalds auf git.wiki.kernel.org: I’m an egotistical bastard, and I name all my projects after myself. First „Linux“, now „Git“. Versionskontrolle 27
  • 45. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Namensgebung Linus Torvalds auf git.wiki.kernel.org: I’m an egotistical bastard, and I name all my projects after myself. First „Linux“, now „Git“. Linus Torvalds in Lord of the Files: How GitHub Tamed Free Software (And More): The joke ‘I name all my projects for myself, first Li- nux, then git’ was just too good to pass up. But it is also short, easy-to-say, and type on a standard key- board. And reasonably unique and not any standard command, which is unusual. Versionskontrolle 27
  • 46. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Verwendung CVS: viele Open-Source-Projekte (früher) SVN: Free Pascal, FreeBSD, GCC, Mono hg: Facebook, Mozilla (Firefox, Thunderbird), SourceForge, Google Inc. (Google Chrome, Google Code), Atlassian (Bitbucket) Git: Android, Debian, Fedora, Git selbst, KDE, LibreOffice, Linux-Kernel, Perl, PHP, Ruby, Samba, VLC media player, Wine Versionskontrolle 28
  • 47. Demo
  • 48. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Repository erstellen 1. leeren Ordner erstellen (z. B. auf Desktop) 2. umbenennen in „Repository“ 3. Rechtsklick → „TortoiseSVN“ → „Create repository here“ → „Ok“ 4. Ordner bekommt ein spezielles Icon und den entsprechenden Inhalt für die Datenbank Versionskontrolle 30
  • 49. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Arbeitskopie erstellen 1. leeren Ordner erstellen (z. B. auf Desktop) 2. umbenennen in „Arbeitskopie“ 3. Rechtsklick → „SVN Checkout“ 4. URL of repository: file:///C:/Users/xxx/Desktop/Repository oder den Ordner mittels „...“ auswählen 5. „Ok“ 6. „Checkout Finished!“ mit „Ok“ bestätigen 7. Ordner bekommt ein spezielles, grünes Icon und einen Unterordner .svn Versionskontrolle 31
  • 50. Nachteile Vorteile Konzepte Software Demo Zusammenfassung LaTeX-Quelltext hinzufügen 1. Datei „test.tex“ anlegen 2. Inhalt: documentclass{scrartcl} begin{document} Hallo Welt! end{document} 3. Abspeichern und mit pdflatex kompilieren Versionskontrolle 32
  • 51. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Commit in das Repository 1. Rechtsklick auf den Ordner „Arbeitskopie“ → „SVN Commit“ 2. bei „Message:“ einen sinnvollen Kommentar eingeben 3. nur die Datei test.txt anklicken 4. bei allen anderen Dateien: Rechtsklick → „Add to ignore list“ → *.xxx (mit xxx als Dateiendung) 5. „Ok“ 6. „Commit Finished!“ mit „Ok“ bestätigen 7. Ordner sollte wieder ein grünes Icon haben Versionskontrolle 33
  • 52. Nachteile Vorteile Konzepte Software Demo Zusammenfassung LaTeX-Quelltext ändern 1. Datei „test.tex“ öffnen 2. irgendwas am Inhalt ändern, z. B. eine Zeile hinzufügen Das ist eine neue Zeile. 3. Abspeichern und mit pdflatex kompilieren 4. Ordner bekommt ein rotes Icon Versionskontrolle 34
  • 53. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Commit der Änderungen in das Repository 1. Rechtsklick auf den Ordner „Arbeitskopie“ → „SVN Commit“ 2. bei „Message:“ einen sinnvollen Kommentar eingeben 3. Rechtsklick auf die Datei text.tex → „Compare with base“ 4. Prüfen den Änderungen und Schließen des „TortoiseMerge“ 5. „Ok“ 6. „Commit Finished!“ mit „Ok“ bestätigen 7. Ordner sollte wieder ein grünes Icon bekommen Versionskontrolle 35
  • 54. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Zweite Arbeitskopie erstellen 1. leeren Ordner erstellen (z. B. auf Desktop) 2. umbenennen in „Arbeitskopie2“ 3. Rechtsklick → „SVN Checkout“ 4. URL of repository: file:///C:/Users/xxx/Desktop/Repository oder den Ordner mittels „...“ auswählen 5. „Ok“ 6. „Checkout Finished!“ mit „Ok“ bestätigen 7. Ordner bekommt ein spezielles, grünes Icon und einen Unterordner .svn Versionskontrolle 36
  • 55. Nachteile Vorteile Konzepte Software Demo Zusammenfassung LaTeX-Quelltext in den zweiten Arbeitskopie ändern 1. Datei „test.tex“ in der „Arbeitskopie2“ öffnen 2. irgendwas am Inhalt ändern, z. B. eine Zeile hinzufügen Das ist noch eine neue Zeile. 3. Abspeichern und mit pdflatex kompilieren 4. Ordner bekommt ein rotes Icon Versionskontrolle 37
  • 56. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Commit der Änderungen in das Repository 1. Rechtsklick auf den Ordner „Arbeitskopie2“ → „SVN Commit“ 2. bei „Message:“ einen sinnvollen Kommentar eingeben 3. Rechtsklick auf die Datei text.tex → „Compare with base“ 4. Prüfen den Änderungen und Schließen des „TortoiseMerge“ 5. „Ok“ 6. „Commit Finished!“ mit „Ok“ bestätigen 7. Ordner sollte wieder ein grünes Icon bekommen Versionskontrolle 38
  • 57. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Update der ersten Arbeitskopie 1. Rechtsklick auf den Ordner „Arbeitskopie“ → „SVN Update“ 2. Nachverfolgung der Änderungen mit „Show log . . . “ 3. Rechtsklick auf die Datei text.tex → „Show changes“ in jeder Revision 4. „TortoiseMerge“ und „TortoiseSVN“ schließen 5. „Commit Finished!“ mit „Ok“ bestätigen 6. Ordner sollte wieder ein grünes Icon haben Versionskontrolle 39
  • 58. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Weitere Dinge, die man ausprobieren sollte (falsche) Änderungen mit „Revert“ rückgängig machen Urheber von Änderungen mit „Blame“ sichtbar machen Änderungen und Commit in „Arbeitskopie“; Änderung, Update und Commit in „Arbeitskopie2“ Änderung unterschiedlicher Stellen → automatische Zusammenführung Änderung der gleichen Stelle → Konflikt Umbenennen einer versionierten Datei mittels „SVN Rename“ Verschieben einer versionierten Datei mittels „SVN Move“ Wiederherstellen eine alter Version mittels „Update to revision“ Versionskontrolle 40
  • 60. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Zusammenfassung Versionskontrolle ist ein extrem nützliches Werkzeug erfolgreicher Einsatz für: MATLAB-Quelltexte Python-Messprogramme Vorlesungsskripte, Übungsaufgaben, Praktikumsanleitungen, GET-Buch, Jahres- und Institutsberichte (in LATEX) aller Anfang ist schwer (am Ende verstehen es aber auch die Sekretärinnen) man muss sich auf ein System festlegen Versionskontrolle 42
  • 61. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Verbleibende Probleme https://xkcd.com/221/ Versionskontrolle 43
  • 62. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle 44
  • 63. Nachteile Vorteile Konzepte Software Demo Zusammenfassung https://xkcd.com/1597/ Versionskontrolle 45
  • 64. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Versionskontrolle 46
  • 65. Nachteile Vorteile Konzepte Software Demo Zusammenfassung Vielen Dank für Eure Aufmerksamkeit! Gibt es Fragen? Versionskontrolle 47