Für OpenBSD wird ein neues Git-kompatibles Versionskontrollsystem entwickelt.

Stefan Sperling (stsp@), ein Mitglied des OpenBSD-Projekts mit zehn Jahren Erfahrung sowie einer der Hauptentwickler von Apache Subversion, entwickelt neues Versionskontrollsystem „Spiel der Bäume“ (bekommen). Bei der Erstellung eines neuen Systems steht die Einfachheit des Designs und die Benutzerfreundlichkeit im Vordergrund und nicht die Flexibilität. Got befindet sich derzeit noch in der Entwicklung; Es wird ausschließlich auf OpenBSD entwickelt und seine Zielgruppe sind OpenBSD-Entwickler. Der Code wird unter einer kostenlosen Lizenz verteilt ISC (entspricht der vereinfachten BSD- und MIT-Lizenz).

Got verwendet Git-Repositorys, um versionierte Daten zu speichern. Derzeit werden nur lokale Versionierungsvorgänge unterstützt. Gleichzeitig kann git für jede Funktionalität verwendet werden, die noch nicht in got implementiert ist – es wird immer möglich sein, mit got und git im selben Repository zu arbeiten.

Hauptstrom auf Das Projekt arbeitet mit OpenBSD-Entwicklern zusammen, die got regelmäßig für ihre OpenBSD-Arbeit verwenden möchten, und verbessert die Versionskontrollvorgänge basierend auf ihrem Feedback.

Grundprinzipien des Projekts:

  • Befolgung der OpenBSD-Sicherheitsregeln und des Codierungsstils;
  • Entwicklungsprozess basierend auf Codeüberprüfung per E-Mail;
  • Verwenden Versprechen(2) Und enthüllen(2) in der gesamten Codebasis;
  • Verwendung der Privilegientrennung beim Parsen von Repository-Daten über das Netzwerk oder von der Festplatte;
  • BSD-lizenzierte Codebasis-Unterstützung.

Langfristige Ziele:

  • Aufrechterhaltung der Kompatibilität mit dem Festplattenformat des Git-Repositorys (ohne Aufrechterhaltung der Kompatibilität mit dem Toolkit);
  • Bereitstellung eines vollständigen Satzes an Versionskontrolltools für OpenBSD:
    • Intuitive Befehlszeilenschnittstelle zur Durchführung notwendiger Versionierungsvorgänge (habe)
    • Interaktiver Repository-Browser zum Analysieren des Verlaufs und Überprüfen festgeschriebener Änderungen (Zug)
    • CGI-Skript, das die Webschnittstelle implementiert – Repository-Browser
    • Repository-Verwaltungstools mit starkem Schwerpunkt auf Sicherung und Wiederherstellung
    • Repository-Server zum Hosten eines zentralen Repositorys und zum Synchronisieren von Änderungen mit einer Kaskade öffentlicher und privater Spiegel
  • Anforderungen an den OpenBSD-Entwickler-Workflow:
    • Starke integrierte Unterstützung für ein zentralisiertes Repository-Modell;
    • Für Entwickler, die keine Branches benötigen, bleibt die Benutzerfreundlichkeit erhalten;
    • Unterstützung lokaler Niederlassungen für Entwickler, die diese benötigen;
    • Unterstützung für „-stable“-Release-Branches;
    • Weitere Funktionen, die zum Aufbau der Infrastruktur des OpenBSD-Projekts erforderlich sind.
  • Implementierung authentifizierter und verschlüsselter Netzwerkverbindungen:
    • Zugriff auf Repositorys über SSH und optional TLS zum Klonen eines Repositorys und Empfangen von Änderungen;
    • Zugriff auf Repositorys nur über SSH, um Änderungen vorzunehmen;
    • Auf Repositories kann nicht über unverschlüsselte Verbindungen zugegriffen werden.

    Habe es schon bekommen hinzugefügt in den Ports-Baum als „entwickeln/erhalten". An EUROBSDCON 2019 wird präsentiert werden Bericht über das neue Versionskontrollsystem.

    Source: opennet.ru

Kommentar hinzufügen