SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Mercurial (HG)
Distributed Version Control System (DVCS)
Warum DVCS?

✤   Ärger mit SVN

    ✤   Commit bricht mit Fehler ab, Locks bleiben (NUL Ordner)

    ✤   Build-Fehler verhindern Commit

    ✤   Branching möglich, merging nicht

    ✤   Stabile Branches nicht praktikabel

✤   Linux Kernelentwicklung mit SVN? -> Unmöglich
✤   hginit.com

    ✤   Re-education: CVS & SVN-Wissen löschen

    ✤   Braucht Zeit

✤   Beschränkung auf SVN Funktionen möglich

    ✤   Verbesserungen mit der Zeit ausprobieren

    ✤   Gibt keinen Grund nicht umzusteigen
Unterschiede


✤   Commit ins lokale Repository

✤   Push/Pull zu jedem beliebigen anderen

✤   Lokale Snapshots ohne andere zu behindern

✤   Vollständige History auch offline verfügbar

    ✤   Suche ist instant
Branching


✤   Jede Änderung führt zu einem Branch

    ✤   sowohl HG als auch SVN (!)

    ✤   SVN kann das nicht abbilden, muss sofort mergen

✤   nicht branchen ist schlimm, sondern mergen

    ✤   in HG ist auch merging kein Problem
Merging


✤   HG betrachtet Changesets, SVN betrachtet Dateien

✤   HG hat die ganze Änderungsgeschichte

    ✤   Viel viel weniger Konflikte beim mergen

✤   Branches verschmelzen

    ✤   Keine Ordner-Leichen die keiner zuordnen kann
Der Maintainer

✤   SVN Workflow



✤   Maintainer verantwortlich für den Haupt-Branch (bzw. Clone)

    ✤   Code Review von fertigen Feature-Branches

    ✤   System of Trust

    ✤   Linus Torvalds
Hochskalieren


✤   match2blue (svn)

    ✤   ca. 20 Entwickler an > 10 Repositories, tägliche Meetings

    ✤   Regelmäßig blockierte Entwicklung

✤   Linux Kernel (git)

    ✤   4.057 Entwickler an einem Repository, unorganisiert (2.6.12-2.6.26)
Hochskalieren^2
Vorteile

✤   Hochskalieren der Teamgröße möglich

✤   Dictator und Lieutnants haben tiefes Verständnis des Sourcecodes

    ✤   Gegensatz zur üblichen Wissen/Macht Disproportionalität

✤   Code Reviews durch Maintainer

    ✤   Viele Fehler werden erkannt

    ✤   Neue Contributer schneller anlernen
HG bei match2blue

✤   Frontend

    ✤   Alle match2blue Projekte & common

    ✤   Alle technet Prototypen

    ✤   MemberScout 2.8 mit stable & experimental branch

✤   Backend

    ✤   Todo

    ✤   Deutlich mehr Leute pro Repository
HG vs. Git

✤   Git

    ✤   ist komplexer

    ✤   history veränderbar (rebase, etc)

✤   Mercurial

    ✤   ist einfacher

    ✤   history unveränderbar

    ✤   deutlich bessere Tools
Ende

Weitere ähnliche Inhalte

Andere mochten auch

App – und was nun - pioniere 2014 - olaf grüger - Go eCommerce
App – und was nun - pioniere 2014 - olaf grüger - Go eCommerceApp – und was nun - pioniere 2014 - olaf grüger - Go eCommerce
App – und was nun - pioniere 2014 - olaf grüger - Go eCommerceOlaf Grueger
 
App Store Optimierung
App Store OptimierungApp Store Optimierung
App Store OptimierungAlbert Pusch
 
ASO (App Store Optimization) Meetup - MWC 2017 Talent Garden
ASO (App Store Optimization) Meetup - MWC 2017 Talent GardenASO (App Store Optimization) Meetup - MWC 2017 Talent Garden
ASO (App Store Optimization) Meetup - MWC 2017 Talent GardenTheTool - ASO Tool
 
AppCodes - app store marketing toolbox
AppCodes - app store marketing toolboxAppCodes - app store marketing toolbox
AppCodes - app store marketing toolboxAppCodes
 
Juliane Henze: Heimat to go
Juliane Henze: Heimat to goJuliane Henze: Heimat to go
Juliane Henze: Heimat to goRadiocamp 2011
 
Präsentation die reform des türkischen strommarkts
Präsentation die reform des türkischen strommarktsPräsentation die reform des türkischen strommarkts
Präsentation die reform des türkischen strommarktsPilarhan
 
ChatFacebookTwitter
ChatFacebookTwitter ChatFacebookTwitter
ChatFacebookTwitter Didi Klement
 
Lemmen qualitaetssicherung als baustelle-wzb-tagung.2006
Lemmen qualitaetssicherung als baustelle-wzb-tagung.2006Lemmen qualitaetssicherung als baustelle-wzb-tagung.2006
Lemmen qualitaetssicherung als baustelle-wzb-tagung.2006Deutsche AIDS-Hilfe
 
Warum das Spiel nicht zwangsläufig nach der Arbeit kommt. Ein Vortrag über En...
Warum das Spiel nicht zwangsläufig nach der Arbeit kommt. Ein Vortrag über En...Warum das Spiel nicht zwangsläufig nach der Arbeit kommt. Ein Vortrag über En...
Warum das Spiel nicht zwangsläufig nach der Arbeit kommt. Ein Vortrag über En...foryouandyourcustomers
 
Workshop für Freiwilligenagenturen
Workshop für Freiwilligenagenturen Workshop für Freiwilligenagenturen
Workshop für Freiwilligenagenturen KaP
 
Dokument
DokumentDokument
Dokumentinohuna
 

Andere mochten auch (20)

Play store optimization
Play store optimizationPlay store optimization
Play store optimization
 
App – und was nun - pioniere 2014 - olaf grüger - Go eCommerce
App – und was nun - pioniere 2014 - olaf grüger - Go eCommerceApp – und was nun - pioniere 2014 - olaf grüger - Go eCommerce
App – und was nun - pioniere 2014 - olaf grüger - Go eCommerce
 
App Store Optimierung
App Store OptimierungApp Store Optimierung
App Store Optimierung
 
MetricsCat.com
MetricsCat.comMetricsCat.com
MetricsCat.com
 
ASO (App Store Optimization) Meetup - MWC 2017 Talent Garden
ASO (App Store Optimization) Meetup - MWC 2017 Talent GardenASO (App Store Optimization) Meetup - MWC 2017 Talent Garden
ASO (App Store Optimization) Meetup - MWC 2017 Talent Garden
 
AppCodes - app store marketing toolbox
AppCodes - app store marketing toolboxAppCodes - app store marketing toolbox
AppCodes - app store marketing toolbox
 
Elisabeth Hoffmann: Erfolgskontrolle
Elisabeth Hoffmann: ErfolgskontrolleElisabeth Hoffmann: Erfolgskontrolle
Elisabeth Hoffmann: Erfolgskontrolle
 
Open Source ERP talk, Linuxwochen 2010
Open Source ERP talk, Linuxwochen 2010Open Source ERP talk, Linuxwochen 2010
Open Source ERP talk, Linuxwochen 2010
 
Juliane Henze: Heimat to go
Juliane Henze: Heimat to goJuliane Henze: Heimat to go
Juliane Henze: Heimat to go
 
Lanzador
Lanzador Lanzador
Lanzador
 
Präsentation die reform des türkischen strommarkts
Präsentation die reform des türkischen strommarktsPräsentation die reform des türkischen strommarkts
Präsentation die reform des türkischen strommarkts
 
ChatFacebookTwitter
ChatFacebookTwitter ChatFacebookTwitter
ChatFacebookTwitter
 
Lemmen qualitaetssicherung als baustelle-wzb-tagung.2006
Lemmen qualitaetssicherung als baustelle-wzb-tagung.2006Lemmen qualitaetssicherung als baustelle-wzb-tagung.2006
Lemmen qualitaetssicherung als baustelle-wzb-tagung.2006
 
Warum das Spiel nicht zwangsläufig nach der Arbeit kommt. Ein Vortrag über En...
Warum das Spiel nicht zwangsläufig nach der Arbeit kommt. Ein Vortrag über En...Warum das Spiel nicht zwangsläufig nach der Arbeit kommt. Ein Vortrag über En...
Warum das Spiel nicht zwangsläufig nach der Arbeit kommt. Ein Vortrag über En...
 
Workshop für Freiwilligenagenturen
Workshop für Freiwilligenagenturen Workshop für Freiwilligenagenturen
Workshop für Freiwilligenagenturen
 
Fu
FuFu
Fu
 
ESTILOS
ESTILOSESTILOS
ESTILOS
 
Dokument
DokumentDokument
Dokument
 
Deutsch
DeutschDeutsch
Deutsch
 
Pitpull killer
Pitpull killerPitpull killer
Pitpull killer
 

Ähnlich wie Mercurial

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
 
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)Michael Whittaker
 
"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?inovex GmbH
 
Robustes Testen mit Selenium
Robustes Testen mit SeleniumRobustes Testen mit Selenium
Robustes Testen mit Seleniumx-celerate
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveBokowsky + Laymann GmbH
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesGregor Biswanger
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCBild GmbH & Co. KG
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSharepointUGDD
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenCommunardo GmbH
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHagilemethoden
 
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...Marc Müller
 
Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Mario Müller
 
Git class german / english
Git class german / englishGit class german / english
Git class german / englishKevin Read
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedRené Winkelmeyer
 
Vergleich SVN und Git
Vergleich SVN und GitVergleich SVN und Git
Vergleich SVN und GitDaniel Wieth
 

Ähnlich wie Mercurial (20)

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
 
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
 
"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?
 
Robustes Testen mit Selenium
Robustes Testen mit SeleniumRobustes Testen mit Selenium
Robustes Testen mit Selenium
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep Dive
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
 
git Vorstellung
git Vorstellunggit Vorstellung
git Vorstellung
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
 
Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Git vs SVN DevCon 2011
Git vs SVN DevCon 2011
 
Git class german / english
Git class german / englishGit class german / english
Git class german / english
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
 
Vergleich SVN und Git
Vergleich SVN und GitVergleich SVN und Git
Vergleich SVN und Git
 
Boston webcast nv_me_2016-09
Boston webcast nv_me_2016-09Boston webcast nv_me_2016-09
Boston webcast nv_me_2016-09
 

Mercurial

  • 1. Mercurial (HG) Distributed Version Control System (DVCS)
  • 2. Warum DVCS? ✤ Ärger mit SVN ✤ Commit bricht mit Fehler ab, Locks bleiben (NUL Ordner) ✤ Build-Fehler verhindern Commit ✤ Branching möglich, merging nicht ✤ Stabile Branches nicht praktikabel ✤ Linux Kernelentwicklung mit SVN? -> Unmöglich
  • 3. hginit.com ✤ Re-education: CVS & SVN-Wissen löschen ✤ Braucht Zeit ✤ Beschränkung auf SVN Funktionen möglich ✤ Verbesserungen mit der Zeit ausprobieren ✤ Gibt keinen Grund nicht umzusteigen
  • 4.
  • 5.
  • 6. Unterschiede ✤ Commit ins lokale Repository ✤ Push/Pull zu jedem beliebigen anderen ✤ Lokale Snapshots ohne andere zu behindern ✤ Vollständige History auch offline verfügbar ✤ Suche ist instant
  • 7. Branching ✤ Jede Änderung führt zu einem Branch ✤ sowohl HG als auch SVN (!) ✤ SVN kann das nicht abbilden, muss sofort mergen ✤ nicht branchen ist schlimm, sondern mergen ✤ in HG ist auch merging kein Problem
  • 8. Merging ✤ HG betrachtet Changesets, SVN betrachtet Dateien ✤ HG hat die ganze Änderungsgeschichte ✤ Viel viel weniger Konflikte beim mergen ✤ Branches verschmelzen ✤ Keine Ordner-Leichen die keiner zuordnen kann
  • 9. Der Maintainer ✤ SVN Workflow ✤ Maintainer verantwortlich für den Haupt-Branch (bzw. Clone) ✤ Code Review von fertigen Feature-Branches ✤ System of Trust ✤ Linus Torvalds
  • 10. Hochskalieren ✤ match2blue (svn) ✤ ca. 20 Entwickler an > 10 Repositories, tägliche Meetings ✤ Regelmäßig blockierte Entwicklung ✤ Linux Kernel (git) ✤ 4.057 Entwickler an einem Repository, unorganisiert (2.6.12-2.6.26)
  • 12. Vorteile ✤ Hochskalieren der Teamgröße möglich ✤ Dictator und Lieutnants haben tiefes Verständnis des Sourcecodes ✤ Gegensatz zur üblichen Wissen/Macht Disproportionalität ✤ Code Reviews durch Maintainer ✤ Viele Fehler werden erkannt ✤ Neue Contributer schneller anlernen
  • 13. HG bei match2blue ✤ Frontend ✤ Alle match2blue Projekte & common ✤ Alle technet Prototypen ✤ MemberScout 2.8 mit stable & experimental branch ✤ Backend ✤ Todo ✤ Deutlich mehr Leute pro Repository
  • 14. HG vs. Git ✤ Git ✤ ist komplexer ✤ history veränderbar (rebase, etc) ✤ Mercurial ✤ ist einfacher ✤ history unveränderbar ✤ deutlich bessere Tools
  • 15. Ende

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n