Mercurial 3.6 führt Clonebundles ein

Das verteilte Versionsverwaltungssystem will Server entlasten, indem es generierte Bundles auf andere Server auslagert.

In Pocket speichern vorlesen Druckansicht
Mercury 3.6 führt Clonebundles ein
Lesezeit: 2 Min.

Mercurial kam zum Monatsanfang planmäßig im dreimonatlichen Releasezyklus auf Version 3.6. Die größte Neuerung in dem nahezu komplett in Python geschriebenen, verteilten Versionsverwaltungssystem sind sogenannte Clonebundles.

Sie sollen den Versionsserver entlasten, der nicht mehr jeden Client einzeln mit Repository-Kopien beliefern muss. Stattdessen bündelt er Projektstände zu einem Paket, das er an andere Server überträgt. Deren URLs speichert er zusammen mit Zusatzinformationen über das Bundle in einer Manifest-Datei ab. Sobald ein Client einen Klon initialisiert, kann er aufgrund der Manifest-Datei entscheiden, wo er ein passendes Paket findet und von dort laden. Anschließend holt er lediglich diejenigen Daten vom Repository-Server, die nicht im Bundle enthalten sind – beispielsweise aufgrund von Änderungen seit dem Klonprozess.

In den Release-Notes weist das Team jedoch ausdrücklich darauf hin, dass die Clonebundles derzeit noch im experimentellen Zustand sind, was zu Inkompatibilitäten mit künftigen Versionen führen kann. Für Version 3.7, die Anfang Februar erwartet werden darf, soll das Experimental-Flag verschwinden.

Auch an anderen Stellen haben die Macher die Performance optimiert. So soll das Cachen von frischen Einträgen das Schreiben der Changelogs um 25 Prozent beschleunigen. Das Öffnen und Schließen von Dateien haben die Entwickler reduziert, wodurch speziell Windows-Clients schneller arbeiten sollen. Zusätzlich gibt es zahlreiche Fehlerkorrekturen.

Alle Änderung sind in den Release-Notes dokumentiert. Die unter GPLv2 lizenzierte Software steht auf Mercurials Site zum Download bereit. (rme)