Stefan Sperling (), Teilnehmer des OpenBSD-Projekts mit über zehn Jahren Erfahrung und einer der Hauptentwickler von Apache Subversion, ein neues Versionskontrollsystem (got). Bei der Entwicklung des neuen Systems liegt der Fokus auf einfacher Struktur und Benutzerfreundlichkeit, nicht auf Flexibilität. Momentan befindet sich Got noch in der Entwicklung; es wird ausschließlich auf OpenBSD entwickelt, und die Zielgruppe sind die Entwickler von OpenBSD. Der Code wird unter der freien Lizenz verbreitet (vergleichbar mit der einfacheren BSD- und MIT-Lizenz).
Für die Speicherung versionierter Daten in Got werden git-Repositories verwendet. Derzeit werden nur lokale Versionsverwaltungsoperationen unterstützt. Gleichzeitig kann git für alle Funktionen genutzt werden, die in got noch nicht implementiert sind – die Nutzung von got und git in einem Repository wird immer möglich sein.
Das aktuelle des Projekts ist die Zusammenarbeit mit OpenBSD-Entwicklern, die got regelmäßig für ihre Arbeiten an OpenBSD nutzen möchten, und die Verbesserung der Versionsverwaltung basierend auf dem erhaltenen Feedback von ihnen.
Die Hauptprinzipien des Projekts:
- Einhaltung der Sicherheits- und Codierungsrichtlinien von OpenBSD;
- Entwicklungsprozess, der auf durch E-Mail überprüften Code basiert;
- Nutzung () und () in der gesamten Codebasis;
- Verwendung der Trennung von Berechtigungen beim Parsen von Daten aus einem Repository über das Netzwerk oder von der Festplatte;
- Unterstützung der Codebasis unter der BSD-Lizenz.
Langfristige Ziele:
- Erhaltung der Kompatibilität mit dem Festplattenspeicherformat des Git-Repositorys (ohne Kompatibilität mit den Werkzeugen zu gewährleisten);
- Bereitstellung eines vollständigen Satzes an Versionsverwaltungstools für OpenBSD:
- Intuitive Kommandozeilenoberfläche zur Ausführung der erforderlichen Versionsverwaltungsoperationen ()
- Interaktiver Repository-Browser zur Analyse der Historie und zur Überprüfung der festgelegten Änderungen ()
- CGI-Skript, das eine Webschnittstelle — Repository-Browser implementiert
- Repository-Verwaltungstools mit starkem Fokus auf Backup und Wiederherstellung
- Repository-Server zum Hosten des zentralen Repositorys und zur Synchronisierung von Änderungen mit einer Kaskade öffentlicher und privater Spiegel
- Anforderungen an den Workflow von OpenBSD-Entwicklern:
- Starke integrierte Unterstützung für das zentralisierte 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 authentifizierter und verschlüsselter Netzwerkverbindungen:
- Zugriff auf Repositories über SSH und zusätzlich TLS zum Klonen des Repositories und zum Abrufen von Änderungen;
- Zugriff auf Repositories nur über SSH für Änderungen;
- Zugriff auf Repositories ist über unverschlüsselte Verbindungen nicht möglich.
Got bereits in das Ports-Baum als „“. Auf wird vorgestellt eine neue Versionskontrollsystem.
Quelle: opennet.ru
