SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Einführung in
Codeversionierungssysteme
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Inhalt
• Was ist ein Codeversionierungssystem?
• kurze Geschichte der Codeversionierung
• zentralisierte vs. verteilte Codeversionierungssysteme
• ein etwas genauerer Blick auf Subversion und Git
• unvollständige Marktübersicht
• Hosted Services
• Serverprodukte
• Client Software
• Codeversionierungssysteme und grosse Dateien
• Codeversionierung & FileMaker, Fragen & Antworten
• Hinweise zum Workshop
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Was ist ein Codeversionierungssystem?
• ein Hilfsmittel von Programmierern für Programmierer
• unterstützt den Entwicklungsprozess von Software, insb. im Team
• gedacht zur Speicherung von Reintextdateien, welche Code enthalten
• speichert alle Versionen einer Datei
• kann Unterschiede zwischen Versionen anzeigen
• Historisierung der Versionen in verzweigten Strukturen
• serverbasierte Varianten ermöglichen die gleichzeitige Arbeit mehrerer
Programmierer an einem Projekt und sogar an einer Datei
• hilft, Versionenkonflikte zu vermeiden oder aufzulösen
• unterstützt bei der Zusammenführung unterschiedlicher
Versionszweige
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
kurze Geschichte der Code Versionierung
Generation 1
• Verwaltung einzelner Dateien
• Dateien werden auf dem Server
gelockt
• nur eine Datei editieren
Vertreter
• SCCS (Source Code Control
System) 1972
• RCS (Revision Control System)
1982
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
kurze Geschichte der Code Versionierung
Generation 2
• zentralisierte Versionskontrolle
• Historie nur auf dem Server
• viele Dateien einer Version
auschecken
• viele Dateien als neue Version
einchecken
• Management von
Versionskonflikten
Vertreter
• CVS (Concurrent Version System)
1986
• SVN (Subversion) 2001
• Microsoft Visual SourceSafe
• Microsoft Team Foundation
Server
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Workflow Zentrale Versionsverwaltung
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
kurze Geschichte der Code Versionierung
Generation 3
• verteilte Versionskontrolle
• lokale Historie und Serverhistorie
• viele Dateien einer Version
auschecken
• viele Dateien als neue Version
einchecken
• Management von
Versionskonflikten
• ausgefeilte Methoden,
Entwicklungszweige zu
verschmelzen (Merge)
Vertreter
• Bazaar, 2005 (Ubuntu)
• Git, 2005 (Linus Torvalds)
• Mercurial, 2005 (Matt Mackall)
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Workflow Verteilte Versionsverwaltung
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
zentralisierte vs. verteilte
Codeversionierungssysteme
zentralisiert
• älterer Ansatz
• immer nur eine Version auf dem
Client
• eine einheitliche Versionshistorie
auf dem Server verfügbar
• ein-/auschecken von Versionen
nur mit Serververbindung
möglich
verteilt
• modernerer Ansatz
• komplettes Repository mit vielen
Versionen auf dem Client
• Versionshistorien auf dem Client
und auf dem Server können
gleich oder verschieden sein
• ein-/auschecken von Versionen
ist auch nur lokal und somit
offline möglich
• Synchronisation von Repositories
sogar unter Clients möglich
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Subversion
• Version 1.0 erschien 2004 bei der Firma CollabNet
• seit 2009 Open Source Projekt bei der Apache Foundation
• zentrale Versionsverwaltung
• vermutlich aktuell am weitesten verbreitete Versionsverwaltung
• Implementierungen
• Server unter Linux und Windows sowie als Cloud-Hosting
• Clients unter Linux, Windows, Mac OS X
• Ordnerstruktur (Konvention)
• Trunk
• Branches
• Tags
• sichtbar sind jeweils alle Dateien einer bestimmten Version
• Standardwerk (Online-Buch): http://svnbook.red-bean.com/
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Subversion
Branch
Merge
Branch
Tag
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Git
• 2005 von Linus Torvalds für Entwicklung des Linux Kernels entwickelt
• hochentwickelt, nicht trivial, eigentlich ein Kommandozeilentool
• verteilte Versionsverwaltung
• Verbreitung nimmt seit Jahren stetig zu
• sehr stark beim Zusammenführen (merge/rebase) verschiedener
Entwicklungszweige (branches)
• sichtbar sind jeweils alle Dateien eines Branches in einer bestimmten
Version
• Implementierungen
• Kommandozeilentool
• Cloud Hosting und standalone Server für Linux & Windows
• kommerzielle GUI Clients für alle gängigen Betriebssysteme
• Dokumentation
• online: https://git-scm.com/doc
• print: "Version Control with Git" (O'Reilly)
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Git
remote
repository
workspace
local
repository
staging
area
add commit
commit
push
pull or rebase
fetch
checkout or merge
diff
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Git
branch
merge
branch
Zeit
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
kleine Marktübersicht
Hosted Cloud Services
Anbieter Subversion Git Kostenbeispiel
Assembla
bis 1 GB kostenlos
≥ 21.55 €/Monat
Beanstalk ≥ 13.45 €/Monat (5 User)
Bitbucket
bis 5 Benutzer kostenlos
≥ 9.00 €/Monat
CloudForge ≥ 9.00 €/Monat (≥ 5 User)
CodeBase ≥ 2.75 €/Monat
GitHub
öffentliche Repos kostenlos
≥ 6.25 €/Monat
Unfuddle ≥ 17 €/Jahr (≤ 10 User)
Es gibt viele weitere Cloud-Anbieter für unterschiedliche Zielgruppen
und mit unterschiedlichen Zusatzfeatures. Die obenstehende Liste ist
nur eine kleine Auswahl renommierter Anbieter.
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
unvollständige Marktübersicht
Serverprodukte
Produkt OS SVN Git Kostenbeispiel
Apache & Subversion Open Source
VisualSVN Server
Standard $0
Enterprise $950
Bonobo Git Server Open Source
Gitblit Open Source
Gitolite Open Source
GitLab
Community Edition kostenlos
Enterprise Edition ≥350 €/Jahr
Attlassian Stash
$10 (10 Users)
$1800 (25 Users)
MS Team Foundation Server $499 zzgl. CALs
Perforce Helix $320/User/Jahr
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
unvollständige Marktübersicht
Client Software
Produkt OS SVN Git Kostenbeispiel
TortoiseSVN Open Source
SmartSVN Professional $99, Foundation $0
Syncro SVN Client $59
Versions $59
Cornerstone $59
GitHub Desktop kostenlos (Mac nur für GitHub)
Git Extensions Open Source
SmartGit $99, kostenlos für non-commercial
Tower $69
Es gibt diverse weitere Clients für Windows und Mac OS X. Unter Linux stehen
nebst den Shell Clients der Basispakete auch mehrere Open Source Clients in
den Repositories der Distributionen zur Verfügung.
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Codeversionierungssysteme
und grosse Dateien
• Codeversionierungssysteme wurden erfunden für die Bewirtschaftung
von Textdateien bis einige MB Grösse.
• Codeversionierungssysteme waren ursprünglich nicht dazu gedacht,
grosse Binärdateien (BLOBs1) zu versionieren.
• Codeversionierungssysteme spielen ihre volle Stärke aus bei…
• der Bewältigung von Versionskonflikten.
• der Verschmelzung von Entwicklungszweigen.
• Viele Cloud-Anbieter setzen Limiten bei Dateigrössen (z.B. 100MB).
• Zu einigen Codeversionierungssystemen gibt es Add-Ons, die BLOBs in
einer gesonderten Speicherstruktur mit bewirtschaften können.
• Es gibt kommerzielle, proprietäre Codeversionierungssysteme, die auch
mit BLOBs gut umgehen können.
1 Binary Large OBjects
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Thinking out of the Box:
Versionierung grosser Files in der Cloud
• Viele Cloud-Speicherdienste bieten Versionierung von Dateien an.
• Viele Cloud-Speicherdienste haben keine oder geringe Probleme mit
grossen bis sehr grossen Dateien.
• Eine weitergehende Bewirtschaftung der Versionen, wie z.B.
Versionsbeschreibungen, Seitenzweige, etc. existiert nicht.
• Es gibt eine breite Palette von Angeboten.
• kostenfrei, unverschlüsselt, datenschutzrechlich bedenklich
• kostenpflichtig, EEE (end-to-end encryption), datenschutzrechtlich
einwandfrei
• Mein aktueller, persönlicher Favorit: tresorit.com
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Codeversionierung & FileMaker
Fragen und Antworten
Q: Was kann bei FileMaker überhaupt versioniert werden?
A: Natürlich ganze *.fmp12-Dateien. Diese lassen sich als BLOBs direkt
versionieren.
A: Es gibt Methoden, einzelne Bestandteile von FileMaker-Datenbanken
als Reintext zu extrahieren und diesen Text in ein
Codeversionierungssystem einzuchecken.
A: Custom Functions lassen sich per Copy-Paste als Reintext auslesen
und einfügen.
A: Einige Plugins ermöglichen es, XML-Code aus der Zwischenablage als
Text zu extrahieren, bzw. XML-Code in die Zwischenablage einzufügen
(z.B. BaseElements Plugin, Clipboard Explorer, Clip Manager, …).
A: Mit dem MBS-Plugin kann man unter Mac OS X Skripten als Text
herauskopieren. Dies ist v.a. zu Dokumentationszwecken interessant.
Einfügen kann man die Skripten via MBS-Plugin nicht.
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Codeversionierung & FileMaker
Fragen und Antworten
Q: Wofür ist Codeversionierung im FileMaker-Umfeld wirklich nützlich?
A: Sicher für ganze FileMaker-Datenbankdateien. Wenn man z.B. nur
relativ leere Entwicklerversionen der Datenbanken versioniert, spielen
die Beschränkungen und Probleme mit grösseren Binärdateien nur eine
geringe Rolle.
A: Aus meiner Sicht lassen sich Custom Functions wunderbar in
Texteditoren erstellen und somit auch per Versionskontrolle verwalten.
Richtig mühsam ist hingegen das Einpflegen neuer Versionen per
Copy-Paste in bestehende Datenbanken.
A: Wer vom Datenbankkontext entkoppelte Skripten oder andere XML-
Snippets hat, die er immer wieder verwendet, für den kann auch die
Versionierung solcher Inhalte wertvoll sein. Der Einsatz eines Plugins
als Import-/Export-Schnittstelle ist dann aber zwingend nötig.
A: Nicht zu vergessen sind auch weitere Projektinhalte, wie z.B.
Dokumente zu Projektanforderungen, Bildmaterial oder Icons,
Dokumentationen, Bedienungsanleitungen, etc.
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Codeversionierung & FileMaker
Fragen und Antworten
Q: Kann ein FileMaker-Entwickler von Codeversionierungssystemen gleich
stark profitieren, wie z.B. ein Entwickler, der C++ programmiert?
A: Leider ganz klar nicht, nein.
Q: Lohnt sich der Einsatz eines Codeversionierungssystems für alle
FileMaker-Entwickler?
A: Eher nicht, nein.
Q: Erleichtert der Einsatz eines Codeversionierungssystems die FileMaker-
Entwicklung im Team?
A: Nur unter gewissen Umständen. Wenn mehrere Entwickler an
derselben FileMaker-Datenbankdatei arbeiten müssen, hilft das
Codeversionierungssystem nicht. Da hilft nur Entwicklung auf einem
FileMaker-Server. Wenn aber die Aufgaben aufgeteilt werden können,
kann der Einsatz eines Codeversionierungssystems sehr wohl die
Arbeit und Koordination erleichtern sowie die Übersicht verbessern.
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Hinweise für den Workshop
• Entscheid betreffend Codeversionierungssystem
• verteilt
• Git
• Randbedingungen für die Client Software
• kostenlos oder Testversion verfügbar
• Windows und Mac OS X
• unabhängig vom Git-Hosting
• freiwillige Vorbereitung
• Download SmartGit Client: http://www.syntevo.com/smartgit/
• Installation SmartGit 30-Tage-Testversion
• falls nicht vorhanden: Texteditor installieren
Thomas Hirt
Einführung in Codeversionierungssysteme
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages

Contenu connexe

Tendances

The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...Klaus Bild
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
Der entspannte Administrator - How to make your life easier by using TDI to a...
Der entspannte Administrator - How to make your life easier by using TDI to a...Der entspannte Administrator - How to make your life easier by using TDI to a...
Der entspannte Administrator - How to make your life easier by using TDI to a...Klaus Bild
 
AdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveAdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveKlaus Bild
 
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterFMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterVerein FM Konferenz
 
TYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoringTYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoringPeter Kraume
 
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Philipp Grossenbacher
 
HCL Domino Volt - der NSF Killer?
HCL Domino Volt - der NSF Killer?HCL Domino Volt - der NSF Killer?
HCL Domino Volt - der NSF Killer?Oliver Busse
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?punkt.de GmbH
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Jürgen Gutsch
 
"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?inovex GmbH
 
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsTesten von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsSebastian Helzle
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatMarkus Goldbeck
 
Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Gitpaultcochrane
 
Formulare in TYPO3 8.7 LTS
Formulare in TYPO3 8.7 LTSFormulare in TYPO3 8.7 LTS
Formulare in TYPO3 8.7 LTSPeter Kraume
 
Neos CMS - Das CMS der nächsten Generation - IPC 2015
Neos CMS - Das CMS der nächsten Generation - IPC 2015Neos CMS - Das CMS der nächsten Generation - IPC 2015
Neos CMS - Das CMS der nächsten Generation - IPC 2015die.agilen GmbH
 
Proxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VEProxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VEMarco Gabriel
 

Tendances (20)

The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Der entspannte Administrator - How to make your life easier by using TDI to a...
Der entspannte Administrator - How to make your life easier by using TDI to a...Der entspannte Administrator - How to make your life easier by using TDI to a...
Der entspannte Administrator - How to make your life easier by using TDI to a...
 
AdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveAdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep Dive
 
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterFMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
 
TYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoringTYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoring
 
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
 
HCL Domino Volt - der NSF Killer?
HCL Domino Volt - der NSF Killer?HCL Domino Volt - der NSF Killer?
HCL Domino Volt - der NSF Killer?
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
 
"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?
 
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsTesten von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
 
Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Git
 
TYPO3 CMS 7
TYPO3 CMS 7TYPO3 CMS 7
TYPO3 CMS 7
 
Mit DITA um die Welt
Mit DITA um die WeltMit DITA um die Welt
Mit DITA um die Welt
 
Formulare in TYPO3 8.7 LTS
Formulare in TYPO3 8.7 LTSFormulare in TYPO3 8.7 LTS
Formulare in TYPO3 8.7 LTS
 
Neos CMS - Das CMS der nächsten Generation - IPC 2015
Neos CMS - Das CMS der nächsten Generation - IPC 2015Neos CMS - Das CMS der nächsten Generation - IPC 2015
Neos CMS - Das CMS der nächsten Generation - IPC 2015
 
Proxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VEProxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VE
 
Deployment
DeploymentDeployment
Deployment
 

En vedette (20)

Exposicion desarrollo del pensamiento yaaaa
Exposicion  desarrollo del pensamiento yaaaaExposicion  desarrollo del pensamiento yaaaa
Exposicion desarrollo del pensamiento yaaaa
 
Slidetecho
SlidetechoSlidetecho
Slidetecho
 
Presentación
PresentaciónPresentación
Presentación
 
Recursos tecnológicos
Recursos tecnológicosRecursos tecnológicos
Recursos tecnológicos
 
Directiva+año+escolar+2013
Directiva+año+escolar+2013Directiva+año+escolar+2013
Directiva+año+escolar+2013
 
Tema 6 irene y jaimeeeeee
Tema 6 irene y jaimeeeeeeTema 6 irene y jaimeeeeee
Tema 6 irene y jaimeeeeee
 
Quien soy
Quien soyQuien soy
Quien soy
 
Salida Ecologica Parque la Flora
Salida Ecologica Parque la FloraSalida Ecologica Parque la Flora
Salida Ecologica Parque la Flora
 
5 integración múltiple
5 integración múltiple5 integración múltiple
5 integración múltiple
 
La utilidad de los numeros tema 1
La utilidad de los numeros tema 1La utilidad de los numeros tema 1
La utilidad de los numeros tema 1
 
Analisis productos de mi estado
Analisis productos de mi estadoAnalisis productos de mi estado
Analisis productos de mi estado
 
Tema 6 cono
Tema 6 conoTema 6 cono
Tema 6 cono
 
Lasinterjecciones
LasinterjeccionesLasinterjecciones
Lasinterjecciones
 
Presentación mejorada
Presentación mejoradaPresentación mejorada
Presentación mejorada
 
Fenomeno comunicativo
Fenomeno comunicativoFenomeno comunicativo
Fenomeno comunicativo
 
#yoconozcomiherencia
#yoconozcomiherencia#yoconozcomiherencia
#yoconozcomiherencia
 
Recursos literarios
Recursos literariosRecursos literarios
Recursos literarios
 
Branchenstudie Papier/Zellstoff/Holz
Branchenstudie Papier/Zellstoff/HolzBranchenstudie Papier/Zellstoff/Holz
Branchenstudie Papier/Zellstoff/Holz
 
FEB. DATOS INFORMATIVOS
FEB. DATOS INFORMATIVOSFEB. DATOS INFORMATIVOS
FEB. DATOS INFORMATIVOS
 
Flyer studie online-konflikte
Flyer studie online-konflikteFlyer studie online-konflikte
Flyer studie online-konflikte
 

Similaire à FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt

FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas HirtFMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas HirtVerein FM Konferenz
 
Groupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 CbGroupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 Cbbofh42
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3Peter Kraume
 
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2Andreas Mertens
 
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischFMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischVerein FM Konferenz
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]Tommy Ziegler
 
Ka ching: Die richtige Lizenz für das Geschaeftsmodell mit Open Source
Ka ching: Die richtige Lizenz für das Geschaeftsmodell mit Open SourceKa ching: Die richtige Lizenz für das Geschaeftsmodell mit Open Source
Ka ching: Die richtige Lizenz für das Geschaeftsmodell mit Open SourceKerstin G. Mende-Stief
 
DWX 2017 - GIT im Leben eines VS Entwicklers
DWX 2017 - GIT im Leben eines VS EntwicklersDWX 2017 - GIT im Leben eines VS Entwicklers
DWX 2017 - GIT im Leben eines VS EntwicklersMarc Müller
 
FMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian SchmitzFMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian SchmitzVerein FM Konferenz
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien DNUG e.V.
 
Git vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungGit vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungMario Müller
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmenoose
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréVerein FM Konferenz
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserVerein FM Konferenz
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
 
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnTipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnViktor Vogel
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesAlexander Loechel
 
FMK2015: FileMaker 14 Webdirect by Michael Valentin
FMK2015: FileMaker 14 Webdirect by Michael ValentinFMK2015: FileMaker 14 Webdirect by Michael Valentin
FMK2015: FileMaker 14 Webdirect by Michael ValentinVerein FM Konferenz
 

Similaire à FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt (20)

FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas HirtFMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
FMK2014: FileMaker Server in Windows Server Umgebungen by Thomas Hirt
 
Groupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 CbGroupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 Cb
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3
 
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
 
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischFMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
 
git Vorstellung
git Vorstellunggit Vorstellung
git Vorstellung
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
 
Ka ching: Die richtige Lizenz für das Geschaeftsmodell mit Open Source
Ka ching: Die richtige Lizenz für das Geschaeftsmodell mit Open SourceKa ching: Die richtige Lizenz für das Geschaeftsmodell mit Open Source
Ka ching: Die richtige Lizenz für das Geschaeftsmodell mit Open Source
 
DWX 2017 - GIT im Leben eines VS Entwicklers
DWX 2017 - GIT im Leben eines VS EntwicklersDWX 2017 - GIT im Leben eines VS Entwicklers
DWX 2017 - GIT im Leben eines VS Entwicklers
 
FMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian SchmitzFMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian Schmitz
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
 
Git vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungGit vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende Einführung
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmen
 
ColdFusion gibt's das noch?
ColdFusion gibt's das noch?ColdFusion gibt's das noch?
ColdFusion gibt's das noch?
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel Moré
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
 
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnTipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS Marktes
 
FMK2015: FileMaker 14 Webdirect by Michael Valentin
FMK2015: FileMaker 14 Webdirect by Michael ValentinFMK2015: FileMaker 14 Webdirect by Michael Valentin
FMK2015: FileMaker 14 Webdirect by Michael Valentin
 

Plus de Verein FM Konferenz

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfVerein FM Konferenz
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsVerein FM Konferenz
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsVerein FM Konferenz
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzVerein FM Konferenz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzVerein FM Konferenz
 
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzFMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzVerein FM Konferenz
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingVerein FM Konferenz
 
FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinVerein FM Konferenz
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtVerein FM Konferenz
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtVerein FM Konferenz
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonVerein FM Konferenz
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussVerein FM Konferenz
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussVerein FM Konferenz
 
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfFMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfVerein FM Konferenz
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonVerein FM Konferenz
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoVerein FM Konferenz
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaVerein FM Konferenz
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaVerein FM Konferenz
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairVerein FM Konferenz
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinVerein FM Konferenz
 

Plus de Verein FM Konferenz (20)

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdf
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp Puls
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin Schwarz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
 
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzFMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam Augusting
 
FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam Augustin
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas Hirt
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell Watson
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph Kluss
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph Kluss
 
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfFMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell Watson
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza Koudelka
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
 

FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt

  • 1. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Einführung in Codeversionierungssysteme
  • 2. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Inhalt • Was ist ein Codeversionierungssystem? • kurze Geschichte der Codeversionierung • zentralisierte vs. verteilte Codeversionierungssysteme • ein etwas genauerer Blick auf Subversion und Git • unvollständige Marktübersicht • Hosted Services • Serverprodukte • Client Software • Codeversionierungssysteme und grosse Dateien • Codeversionierung & FileMaker, Fragen & Antworten • Hinweise zum Workshop
  • 3. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Was ist ein Codeversionierungssystem? • ein Hilfsmittel von Programmierern für Programmierer • unterstützt den Entwicklungsprozess von Software, insb. im Team • gedacht zur Speicherung von Reintextdateien, welche Code enthalten • speichert alle Versionen einer Datei • kann Unterschiede zwischen Versionen anzeigen • Historisierung der Versionen in verzweigten Strukturen • serverbasierte Varianten ermöglichen die gleichzeitige Arbeit mehrerer Programmierer an einem Projekt und sogar an einer Datei • hilft, Versionenkonflikte zu vermeiden oder aufzulösen • unterstützt bei der Zusammenführung unterschiedlicher Versionszweige
  • 4. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com kurze Geschichte der Code Versionierung Generation 1 • Verwaltung einzelner Dateien • Dateien werden auf dem Server gelockt • nur eine Datei editieren Vertreter • SCCS (Source Code Control System) 1972 • RCS (Revision Control System) 1982
  • 5. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com kurze Geschichte der Code Versionierung Generation 2 • zentralisierte Versionskontrolle • Historie nur auf dem Server • viele Dateien einer Version auschecken • viele Dateien als neue Version einchecken • Management von Versionskonflikten Vertreter • CVS (Concurrent Version System) 1986 • SVN (Subversion) 2001 • Microsoft Visual SourceSafe • Microsoft Team Foundation Server
  • 6. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Workflow Zentrale Versionsverwaltung
  • 7. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com kurze Geschichte der Code Versionierung Generation 3 • verteilte Versionskontrolle • lokale Historie und Serverhistorie • viele Dateien einer Version auschecken • viele Dateien als neue Version einchecken • Management von Versionskonflikten • ausgefeilte Methoden, Entwicklungszweige zu verschmelzen (Merge) Vertreter • Bazaar, 2005 (Ubuntu) • Git, 2005 (Linus Torvalds) • Mercurial, 2005 (Matt Mackall)
  • 8. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Workflow Verteilte Versionsverwaltung
  • 9. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com zentralisierte vs. verteilte Codeversionierungssysteme zentralisiert • älterer Ansatz • immer nur eine Version auf dem Client • eine einheitliche Versionshistorie auf dem Server verfügbar • ein-/auschecken von Versionen nur mit Serververbindung möglich verteilt • modernerer Ansatz • komplettes Repository mit vielen Versionen auf dem Client • Versionshistorien auf dem Client und auf dem Server können gleich oder verschieden sein • ein-/auschecken von Versionen ist auch nur lokal und somit offline möglich • Synchronisation von Repositories sogar unter Clients möglich
  • 10. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Subversion • Version 1.0 erschien 2004 bei der Firma CollabNet • seit 2009 Open Source Projekt bei der Apache Foundation • zentrale Versionsverwaltung • vermutlich aktuell am weitesten verbreitete Versionsverwaltung • Implementierungen • Server unter Linux und Windows sowie als Cloud-Hosting • Clients unter Linux, Windows, Mac OS X • Ordnerstruktur (Konvention) • Trunk • Branches • Tags • sichtbar sind jeweils alle Dateien einer bestimmten Version • Standardwerk (Online-Buch): http://svnbook.red-bean.com/
  • 11. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Subversion Branch Merge Branch Tag
  • 12. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Git • 2005 von Linus Torvalds für Entwicklung des Linux Kernels entwickelt • hochentwickelt, nicht trivial, eigentlich ein Kommandozeilentool • verteilte Versionsverwaltung • Verbreitung nimmt seit Jahren stetig zu • sehr stark beim Zusammenführen (merge/rebase) verschiedener Entwicklungszweige (branches) • sichtbar sind jeweils alle Dateien eines Branches in einer bestimmten Version • Implementierungen • Kommandozeilentool • Cloud Hosting und standalone Server für Linux & Windows • kommerzielle GUI Clients für alle gängigen Betriebssysteme • Dokumentation • online: https://git-scm.com/doc • print: "Version Control with Git" (O'Reilly)
  • 13. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Git remote repository workspace local repository staging area add commit commit push pull or rebase fetch checkout or merge diff
  • 14. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Git branch merge branch Zeit
  • 15. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com kleine Marktübersicht Hosted Cloud Services Anbieter Subversion Git Kostenbeispiel Assembla bis 1 GB kostenlos ≥ 21.55 €/Monat Beanstalk ≥ 13.45 €/Monat (5 User) Bitbucket bis 5 Benutzer kostenlos ≥ 9.00 €/Monat CloudForge ≥ 9.00 €/Monat (≥ 5 User) CodeBase ≥ 2.75 €/Monat GitHub öffentliche Repos kostenlos ≥ 6.25 €/Monat Unfuddle ≥ 17 €/Jahr (≤ 10 User) Es gibt viele weitere Cloud-Anbieter für unterschiedliche Zielgruppen und mit unterschiedlichen Zusatzfeatures. Die obenstehende Liste ist nur eine kleine Auswahl renommierter Anbieter.
  • 16. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com unvollständige Marktübersicht Serverprodukte Produkt OS SVN Git Kostenbeispiel Apache & Subversion Open Source VisualSVN Server Standard $0 Enterprise $950 Bonobo Git Server Open Source Gitblit Open Source Gitolite Open Source GitLab Community Edition kostenlos Enterprise Edition ≥350 €/Jahr Attlassian Stash $10 (10 Users) $1800 (25 Users) MS Team Foundation Server $499 zzgl. CALs Perforce Helix $320/User/Jahr
  • 17. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com unvollständige Marktübersicht Client Software Produkt OS SVN Git Kostenbeispiel TortoiseSVN Open Source SmartSVN Professional $99, Foundation $0 Syncro SVN Client $59 Versions $59 Cornerstone $59 GitHub Desktop kostenlos (Mac nur für GitHub) Git Extensions Open Source SmartGit $99, kostenlos für non-commercial Tower $69 Es gibt diverse weitere Clients für Windows und Mac OS X. Unter Linux stehen nebst den Shell Clients der Basispakete auch mehrere Open Source Clients in den Repositories der Distributionen zur Verfügung.
  • 18. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Codeversionierungssysteme und grosse Dateien • Codeversionierungssysteme wurden erfunden für die Bewirtschaftung von Textdateien bis einige MB Grösse. • Codeversionierungssysteme waren ursprünglich nicht dazu gedacht, grosse Binärdateien (BLOBs1) zu versionieren. • Codeversionierungssysteme spielen ihre volle Stärke aus bei… • der Bewältigung von Versionskonflikten. • der Verschmelzung von Entwicklungszweigen. • Viele Cloud-Anbieter setzen Limiten bei Dateigrössen (z.B. 100MB). • Zu einigen Codeversionierungssystemen gibt es Add-Ons, die BLOBs in einer gesonderten Speicherstruktur mit bewirtschaften können. • Es gibt kommerzielle, proprietäre Codeversionierungssysteme, die auch mit BLOBs gut umgehen können. 1 Binary Large OBjects
  • 19. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Thinking out of the Box: Versionierung grosser Files in der Cloud • Viele Cloud-Speicherdienste bieten Versionierung von Dateien an. • Viele Cloud-Speicherdienste haben keine oder geringe Probleme mit grossen bis sehr grossen Dateien. • Eine weitergehende Bewirtschaftung der Versionen, wie z.B. Versionsbeschreibungen, Seitenzweige, etc. existiert nicht. • Es gibt eine breite Palette von Angeboten. • kostenfrei, unverschlüsselt, datenschutzrechlich bedenklich • kostenpflichtig, EEE (end-to-end encryption), datenschutzrechtlich einwandfrei • Mein aktueller, persönlicher Favorit: tresorit.com
  • 20. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Codeversionierung & FileMaker Fragen und Antworten Q: Was kann bei FileMaker überhaupt versioniert werden? A: Natürlich ganze *.fmp12-Dateien. Diese lassen sich als BLOBs direkt versionieren. A: Es gibt Methoden, einzelne Bestandteile von FileMaker-Datenbanken als Reintext zu extrahieren und diesen Text in ein Codeversionierungssystem einzuchecken. A: Custom Functions lassen sich per Copy-Paste als Reintext auslesen und einfügen. A: Einige Plugins ermöglichen es, XML-Code aus der Zwischenablage als Text zu extrahieren, bzw. XML-Code in die Zwischenablage einzufügen (z.B. BaseElements Plugin, Clipboard Explorer, Clip Manager, …). A: Mit dem MBS-Plugin kann man unter Mac OS X Skripten als Text herauskopieren. Dies ist v.a. zu Dokumentationszwecken interessant. Einfügen kann man die Skripten via MBS-Plugin nicht.
  • 21. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Codeversionierung & FileMaker Fragen und Antworten Q: Wofür ist Codeversionierung im FileMaker-Umfeld wirklich nützlich? A: Sicher für ganze FileMaker-Datenbankdateien. Wenn man z.B. nur relativ leere Entwicklerversionen der Datenbanken versioniert, spielen die Beschränkungen und Probleme mit grösseren Binärdateien nur eine geringe Rolle. A: Aus meiner Sicht lassen sich Custom Functions wunderbar in Texteditoren erstellen und somit auch per Versionskontrolle verwalten. Richtig mühsam ist hingegen das Einpflegen neuer Versionen per Copy-Paste in bestehende Datenbanken. A: Wer vom Datenbankkontext entkoppelte Skripten oder andere XML- Snippets hat, die er immer wieder verwendet, für den kann auch die Versionierung solcher Inhalte wertvoll sein. Der Einsatz eines Plugins als Import-/Export-Schnittstelle ist dann aber zwingend nötig. A: Nicht zu vergessen sind auch weitere Projektinhalte, wie z.B. Dokumente zu Projektanforderungen, Bildmaterial oder Icons, Dokumentationen, Bedienungsanleitungen, etc.
  • 22. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Codeversionierung & FileMaker Fragen und Antworten Q: Kann ein FileMaker-Entwickler von Codeversionierungssystemen gleich stark profitieren, wie z.B. ein Entwickler, der C++ programmiert? A: Leider ganz klar nicht, nein. Q: Lohnt sich der Einsatz eines Codeversionierungssystems für alle FileMaker-Entwickler? A: Eher nicht, nein. Q: Erleichtert der Einsatz eines Codeversionierungssystems die FileMaker- Entwicklung im Team? A: Nur unter gewissen Umständen. Wenn mehrere Entwickler an derselben FileMaker-Datenbankdatei arbeiten müssen, hilft das Codeversionierungssystem nicht. Da hilft nur Entwicklung auf einem FileMaker-Server. Wenn aber die Aufgaben aufgeteilt werden können, kann der Einsatz eines Codeversionierungssystems sehr wohl die Arbeit und Koordination erleichtern sowie die Übersicht verbessern.
  • 23. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Hinweise für den Workshop • Entscheid betreffend Codeversionierungssystem • verteilt • Git • Randbedingungen für die Client Software • kostenlos oder Testversion verfügbar • Windows und Mac OS X • unabhängig vom Git-Hosting • freiwillige Vorbereitung • Download SmartGit Client: http://www.syntevo.com/smartgit/ • Installation SmartGit 30-Tage-Testversion • falls nicht vorhanden: Texteditor installieren
  • 24. Thomas Hirt Einführung in Codeversionierungssysteme FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages