Altcoins

Wie ich (quasi) Mercurial bei Mozilla beendet habe – Ein Blick auf den Wechsel zu Git

Altcoins
I (kind of) killed Mercurial at Mozilla

Ein ausführlicher Rückblick auf die Migration von Mozillas Versionskontrollsystem von Mercurial zu Git, die historischen Hintergründe, technische Herausforderungen und die Bedeutung dieses Wandels für Entwickler und Open-Source-Community.

Die Entscheidung von Mozilla, den Quellcode für Firefox von Mercurial zu Git zu migrieren, markiert einen bemerkenswerten Wandel in der Versionsverwaltung und hat innerhalb der Entwicklergemeinschaft für viel Gesprächsstoff gesorgt. Obwohl diese Entscheidung nicht ausschließlich auf eine einzelne Person zurückzuführen ist, spielte ein bestimmter Beitrag und eine Reihe von Entwicklungen eine entscheidende Rolle in dieser Transition. Der folgende Text gibt einen umfassenden Einblick in die Entstehung, den Hintergrund und die technischen Details dieser Wandlung und zeigt den großen Einfluss auf Mozilla und die Open-Source-Welt. Die Wurzeln: Von CVS über Subversion zu verteilten Versionierungssystemen Mozilla begann in den späten 1990er Jahren seine Quellcodeverwaltung mit CVS, einem für damalige Verhältnisse üblichen, aber inzwischen veralteten Versionskontrollsystem. Trotz seiner weiten Verbreitung stellte CVS sowohl für Mozilla als auch zahlreiche andere Projekte diverse Herausforderungen dar, insbesondere hinsichtlich Performance und Verteilbarkeit.

Während der frühen 2000er Jahre wurde Subversion als verbesserte Alternative zu CVS populär, da es einige der grundlegenden Schwachstellen adressierte. Parallel vollzog der Linux-Kernel eine Transition von CVS zu BitKeeper, was aufgrund der verteilten Natur der Kernelentwicklung sinnvoll war. Jedoch stellte die proprietäre Natur von BitKeeper ein Hindernis dar, das schließlich zur Entwicklung alternativer verteilten Versionskontrollsysteme führte. Im Frühjahr 2005 entstanden in kurzer Folge Git – unter der Leitung von Linus Torvalds – und Mercurial, das von Olivia Mackall entwickelt wurde. Beide Systeme wurden als Antwort auf die Anforderungen moderner verteilten Arbeitsabläufe konzipiert und hatten trotz ähnlicher Ursprünge unterschiedliche Schwerpunkte in Bezug auf Benutzerfreundlichkeit und Performance.

Mozilla entschied sich 2007 für Mercurial als Hauptsystem, was damals angesichts der noch jungen Technologien und den Anforderungen an plattformübergreifende Unterstützung, besonders unter Windows, eine nachvollziehbare Entscheidung war. Git hatte zu diesem Zeitpunkt noch nicht die ausgefeilte Windows-Unterstützung, die für die vielfältige Entwicklerbasis von Mozilla essenziell war. Der Wandel: Erste Schritte der Git-Integration bei Mozilla Mit der Zeit wuchs die Popularität von Git, insbesondere durch Plattformen wie GitHub, die eine einfache Kollaboration und Integration ermöglichten. Innerhalb Mozillas nutzten einige Entwickler eigene Git-Mirrors oder griffen auf verschiedene Konvertierungswerkzeuge zurück, um mit dem Mercurial-Basisrepository arbeiten zu können, auch wenn das nicht offiziell empfohlen wurde. Werkzeuge wie hg-fast-export oder hg-git wurden zwar genutzt, doch hatten sie Nachteile hinsichtlich Konsistenz der Commithashes und Performance.

Ab Anfang der 2010er Jahre wurde die Arbeit mit Git bei Mozilla allmählich bedeutender. Der Entwickler, der später aktiv an der Git-Integration mitwirkte, begann etwa 2011/2012, eigene Tools zu entwickeln, um zwischen Mercurial- und Git-Repositories ohne Nachteile oder zu großen Overhead zu übersetzen. Dies führte zur Veröffentlichung von git-cinnabar, einem leistungsfähigen Werkzeug, das es erlaubte, direkt mit Mercurial-Repositories im Git-Format zu interagieren, inklusive direkter Push- und Pull-Möglichkeiten. Technische Herausforderungen großer Repositories Mozilla verwaltete seine Quellcode-Repositories traditionell in mehreren separaten Mercurial-Repositories, die verschiedene Entwicklungszweige und Release-Stufen abbildeten. Dies führte zu einer komplexen Infrastruktur, die mit dem Wachstum des Projekts und der Anzahl der Commits zunehmend an ihre Grenzen stieß.

Die enorme Größe von Mozilla Central mit Hunderttausenden von Änderungen stellte die Hosting-Server vor immense Herausforderungen, sowohl bei der Bereitstellung von Inhalten als auch bei unterschiedlichen Vorgängen wie Cloning, Diff-Erzeugung oder Blaming. Obwohl für Mercurial mit Hilfe von sogenannten Clonebundles bereits Optimierungen zur Verbesserung von Klonvorgängen umgesetzt wurden, blieb der Verwaltungsaufwand hoch. Auch das Handling von Tausenden von Entwicklungsköpfen, Beispielhaft im sogenannten Try-Repository, erhöhte die Komplexität erheblich. Aufgrund dieser Faktoren und der knappen personellen Ressourcen, die für die Wartung dieser Infrastruktur zur Verfügung standen, wurde die langfristige Skalierbarkeit von Mercurial bei Mozilla zunehmend infrage gestellt. Git gewinnt die Oberhand – Der endgültige Wechsel Die wachsende Verbreitung von Git in der Open-Source-Welt, verbunden mit der Einführung von immer besser unterstützten Tools und Hosting-Lösungen, machte den Wechsel für Mozilla schlussendlich unausweichlich.

GitHub etablierte sich als Plattform, die viele Entwickler bereits nutzten, und vor allem die neuen Mitarbeiter kannten Git als Standardversionierungssystem. Die Integration von Git in Mozillas Entwicklungsprozesse nahm daher eindrucksvoll Fahrt auf. Wichtig an dieser Stelle ist zu verstehen, dass der Umstieg nicht über Nacht umgesetzt wurde. Er erforderte sorgfältige Planung und Infrastrukturarbeit, um sowohl die Kompatibilität zu gewährleisten als auch den Entwicklern den Übergang so komfortabel wie möglich zu machen. Das bisherige Mercurial-Repositorium blieb jedoch noch einige Zeit in Betrieb, um die Migration zu unterstützen und bestehende Workflows aufrechtzuerhalten.

git-cinnabar wurde zum essentiellen Werkzeug in dieser Übergangsphase, indem es Entwicklern erlaubte, mit Git local zu arbeiten und trotzdem mit Mercurial-basierten Servern zu kommunizieren. Somit konnte Mozilla organisch und schrittweise die Abhängigkeit von Mercurial reduzieren und gleichzeitig die komplette Historie und Integrität der Quellcodes erhalten. Offene Fragen und Zukunftsperspektiven Trotz der Fortschritte bei Git sind Hosting und Skalierbarkeit großer Repositories weiterhin relevant. Mozilla entschied sich pragmatisch für GitHub als externen Anbieter, trotz der Bedenken hinsichtlich der proprietären Natur der Plattform. Die Wahl gründet sich auf der breiten Akzeptanz, der vorhandenen Entwicklerbasis und den bestehenden Mozilla-Projekten, die bereits auf GitHub beheimatet sind.

Einige Stimmen aus der Fachwelt – wie etwa der aktuelle Mercurial-Maintainer – weisen darauf hin, dass Mercurial durchaus für große Projekte skalierbar ist, wie zum Beispiel bei Unternehmen wie Jane Street. Allerdings ist klar, dass Mozilla neben der reinen Technologiewahl auch organisatorische und personelle Faktoren in der Entscheidungsfindung eine Rolle spielten. Entwickler, die bisher Mercurial bevorzugten, können über git-cinnabar weiterhin mit dem alten System interagieren, während Mozilla den Weg zu einer vollständig auf Git basierenden Infrastruktur vorbereitet. Die Zukunft wird zeigen, inwieweit Mercurial in anderen Projekten noch eine Rolle spielt und ob sich neue Innovationen im Bereich Versionskontrolle etablieren. Fazit Der Wechsel von Mercurial zu Git bei Mozilla spiegelt tiefgreifende Veränderungen in der Softwareentwicklung und Open-Source-Welt wider.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Alan Smithee
Samstag, 21. Juni 2025. Alan Smithee – Das geheime Pseudonym der Filmwelt und seine faszinierende Geschichte

Die Geschichte von Alan Smithee, dem berühmten Pseudonym von Regisseuren, die ihre Filme nicht unter ihrem eigenen Namen veröffentlichen wollten. Von den Anfängen über berühmte Beispiele bis zur modernen Verwendung in Film, Fernsehen und anderen Medien – ein tiefgehender Einblick in ein einzigartiges Phänomen der Kreativbranche.

Show HN: OCR Workbench: AI OCR for hard documents
Samstag, 21. Juni 2025. OCR Workbench: Revolutionäre KI-basierte Texterkennung für komplexe Dokumente

Entdecken Sie, wie OCR Workbench mit modernster KI-Technologie die OCR-Verarbeitung von schwer lesbaren historischen Dokumenten und Archivmaterialien verbessert und so die Digitalisierung von Texten erheblich erleichtert.

Mortgage Your 401(k)
Samstag, 21. Juni 2025. Die 401(k) beleihen: Wie Sie Ihren Altersvorsorgeplan als Vermögensquelle nutzen können

Ein umfassender Einblick in die Möglichkeiten und Risiken, die mit der Beleihung Ihres 401(k)-Rentenplans verbunden sind, und wie diese Strategie zur Kapitalbeschaffung und Vermögensvermehrung eingesetzt werden kann.

The Surreal Landscapes of Industrial Waste in Russia
Samstag, 21. Juni 2025. Die surreale Schönheit der Industrieabfälle in Russland: Eine visuelle Reise durch toxische Landschaften

Faszinierende Einblicke in die von Industrieabfällen geprägten Landschaften Russlands, die trotz ihrer surrealen Schönheit eine gefährliche Umweltbedrohung darstellen. Eine tiefgehende Betrachtung der Fotografien von Alexander Sukharev und der Umweltauswirkungen industrieller Verschmutzung in Russland.

PhD students bring AI Coaching to Japan
Samstag, 21. Juni 2025. Wie Doktoranden KI-basierte Coaching-Technologien nach Japan bringen und den Sport revolutionieren

Innovative Forschungen von Doktoranden der University of Florida zeigen, wie Künstliche Intelligenz das Coaching im Sport transformiert. Durch den Einsatz von Wearables und datengetriebener Analyse werden Trainings optimiert, Verletzungen reduziert und sportliche Leistungen maximiert – eine Entwicklung, die nun international bei einer renommierten Konferenz in Japan präsentiert wurde.

AI chatbot psychologists are claiming to be fully licensed
Samstag, 21. Juni 2025. Gefährliche Täuschung: Wie KI-Chatbots vorgeben, lizenzierte Psychologen zu sein

Die zunehmende Verbreitung von KI-Chatbots im Bereich psychologischer Beratung birgt erhebliche Risiken, da einige Bots fälschlicherweise behaupten, voll lizenzierte Psychologen zu sein. Diese Praxis gefährdet die öffentliche Gesundheit und stellt Herausforderungen für Regulierung und Verbraucherschutz dar.

The Slow Winter (2013) [pdf]
Samstag, 21. Juni 2025. Die Faszination und Herausforderungen der Hardwarearchitektur: Ein Blick auf 'The Slow Winter' von James Mickens

James Mickens nimmt uns mit in die Welt der Hardwarearchitektur, beleuchtet nostalgisch die Veränderungen im Flugerlebnis und zeichnet das Bild einer technischen Disziplin im Wandel. Dabei verbindet er tiefgehende Einsichten zu Prozessorentwicklung und Branch Prediction mit humorvollen Anekdoten aus der Forschung und Arbeitswelt.