Für OpenBSD wird ein neues git-kompatibles Versionskontrollsystem Got entwickelt

Stefan Sperling (stsp@), ein Projektteilnehmer von OpenBSD mit zehn Jahren Erfahrung sowie einer der Hauptentwickler von Apache Subversion, entwickelt ein neues Versionskontrollsystem „Game of Trees“ (got). Bei der Erstellung des neuen Systems liegt der Schwerpunkt auf Einfachheit der Struktur und Benutzerfreundlichkeit anstelle von Flexibilität. Derzeit befindet sich Got noch in der Entwicklung; es wird ausschließlich auf OpenBSD entwickelt und richtet sich an Entwickler von OpenBSD. Der Code wird unter der freien Lizenz ISC verbreitet (entspricht der vereinfachten BSD- und MIT-Lizenz).

Zur Speicherung versionierter Daten verwendet Got git-Repositories. Aktuell werden nur lokale Versionsverwaltungsvorgänge unterstützt. Git kann jedoch für jede Funktionalität genutzt werden, die noch nicht in Got implementiert ist – die Arbeit mit Got und git in einem Repository wird immer möglich sein.

Das Hauptziel des Projekts besteht darin, mit den Entwicklern von OpenBSD zusammenzuarbeiten, die Got regelmäßig für ihre Arbeiten an OpenBSD nutzen möchten, und die Versionsverwaltung gemäß dem erhaltenen Feedback zu verbessern. Die grundlegenden Prinzipien des Projekts:

Befolgung der Sicherheitsrichtlinien und Coding-Standards von OpenBSD;

  • Ein Entwicklungsprozess, der auf Code-Reviews per E-Mail basiert;
  • Die Verwendung von Privilegientrennung beim Parsen von Repositoriumdaten über das Netzwerk oder von der Festplatte;
  • Verwendung pledge(2) und unveil(2) in der gesamten Codebasis;
  • Die Unterstützung von Code-Basen unter der BSD-Lizenz.
  • Langfristige Ziele:

Die Sicherstellung der Kompatibilität mit dem Festplattenformat des git-Repositories (ohne die Kompatibilität mit den Werkzeugen zu gewährleisten);

  • Die Bereitstellung eines vollständigen Satzes an Versionsverwaltungstools für OpenBSD:
  • Eine intuitiv bedienbare Kommandozeilenoberfläche zur Durchführung notwendiger Versionsverwaltungsoperationen (
  • Anforderungen an den Arbeitsprozess von OpenBSD-Entwicklern:
    • Starke eingebaute Unterstützung für ein zentrales Repository-Modell;
    • Für Entwickler, die keine Branches benötigen, bleibt die Benutzerfreundlichkeit erhalten;
    • Unterstützung für lokale Branches für Entwickler, die diese benötigen;
    • Unterstützung für Release-Branches „-stable“;
    • Weitere Funktionen, die für den Aufbau der OpenBSD-Projektinfrastruktur erforderlich sind.
  • Implementierung von authentifizierten und verschlüsselten Netzwerkverbindungen:
    • Zugriff auf Repositories über SSH und zusätzlich TLS zum Klonen des Repositories und Abrufen von Änderungen;
    • Zugriff auf Repositories nur über SSH für Änderungen;
    • Zugriff auf Repositories ist nicht über unverschlüsselte Verbindungen möglich.

    Got bereits wurde hinzugefügt in das Ports-Baum als „devel/got„. Auf der EUROBSDCON 2019 wird ein Bericht neues Versionskontrollsystem vorgestellt.

    Quelle: opennet.ru

60GB SSD 8Gb DDR4