Login
Newsletter
Werbung

Do, 14. April 2005, 13:10

Software::Entwicklung

Selbstgemachtes System als BitKeeper-Ersatz

Innerhalb weniger Tage hat Linus Torvalds eine Entwicklung ins Rollen gebracht, die möglicherweise zum dauerhaften Ersatz von Bitkeeper wird.

Es ist immer wieder erstaunlich, zu sehen, wie schnell in der Open-Source-Szene Lösungen entstehen können. Nach dem Entschluß von Linus Torvalds, auf BitKeeper zu verzichten, war klar, daß schnellstmöglich ein Ersatz her mußte. Das Entstehen dieses Ersatzes läßt sich nun sozusagen live verfolgen.

Als Folge der BitKeeper-Kontroversen und der offensichtlichen Mängel von CVS waren in den letzten Jahren mehrere freie Quellcode-Verwaltungssysteme entstanden. Subversion war von Anfang an nicht in Frage gekommen, da es nur eine Neuauflage von CVS mit einigen Verbesserungen darstellt. Für die Art, in der Torvalds mit Patches umgeht, ist es nicht geeignet. Von den anderen Alternativen hielt er monotone noch am besten, doch dies hatte erhebliche Performanceprobleme. Inzwischen haben die Entwickler Version 0.18 freigegeben (mit Special Thanks unter anderem an Torvalds), das die Geschwindigkeit erheblich erhöht, teilweise gar um Größenordnungen.

Doch der Zug könnte bereits abgefahren sein. Nach zwei Tagen »Klausur« stellte Torvalds schon am 7. April die erste Version eines neuen Systems vor, das er als »dummes Verwaltungssystem für Verzeichnisinhalte« bezeichnete, das keinesfalls eine Quellcode-Verwaltung sei, aber als Grundlage für eines dienen könne. Der Hauptvorteil des Systems: Es ist extrem schnell und erlaubt es nach ersten Tests, einen Patch in weniger als einer Sekunde zu verarbeiten. Bei Stapeln von 200 Patches, wie sie zwischen den Entwicklern häufig ausgetauscht werden, dauert die Integration lediglich drei bis vier Minuten.

Torvalds nannte das System »git«, nicht zu verwechseln mit dem Dateimanager gleichen Namens (GNU Interactive Tools), dessen Entwicklung inzwischen wohl eingestellt ist. Andere Kernelentwickler zeigten sich interessiert an dem Tool, und so kam es zu einer rasanten Weiterentwicklung, die in der erfolgreichen Anwendung des Programms auf fast 200 Patches gipfelte. Es sieht so aus, als würde git zum Tool der Wahl werden. Torvalds erwägt zur Zeit, ausgehend von Kernel 2.6.11 alle Patches, die bereits in 2.6.12-rc2 waren, nochmals via git einzuspielen, und dann dabei zu bleiben. Vorher gilt es aber noch zu verifizieren, daß die Resultate korrekt sind. Die Entwicklung des Kernels dürfte nach diesem Intermezzo bald mit gleicher Geschwindigkeit wie mit BitKeeper weitergehen.

git erreicht seine Geschwindigkeit, indem es die SHA-Prüfsummen der Dateien errechnet und diese zur »Adressierung« der eigentlichen Daten verwendet. Jede Version einer Datei wird separat und in voller Pracht gespeichert. Da keinerlei Kompression zum Einsatz kommt, braucht das System recht viel Platz auf der Festplatte. Torvalds rechnet mit einem jährlichen Wachstum von 2 GB für den Linux-Kernelbaum. Jedoch läßt sich die Größe begrenzen, indem man ältere Versionen entfernt oder archiviert. Außerdem wird der Festplattenplatz immer größer und billiger. Auf die Größe der Kernel-Quellen auf kernel.org hat das System keinen Einfluß, genausowenig, wie BitKeeper einen Einfluß hatte.

Der Entwickler Petr Baudis hat bereits auf der Basis einer frühen Version von git eine Erweiterung auf eine Art Quellcode-Verwaltungssystem namens git-pasky vorgenommen. Es sieht so aus, als würden sich in kürzester Zeit aus dem einfachen Grundkonzept interessante Dinge entwickeln.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung