Stefan Sperling (), ein Projektteilnehmer von OpenBSD mit zehn Jahren Erfahrung sowie einer der Hauptentwickler von Apache Subversion, ein neues Versionskontrollsystem (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 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 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 () und () 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 (
- got)
- tog)
- Administrationswerkzeuge für Repositories mit starkem Fokus auf Backup und Wiederherstellung
- Ein Repository-Server zum Hosten des zentralen Repositories und zur Synchronisierung von Änderungen mit einer Kaskade öffentlicher und privater Spiegel.
- Server-Repository für das Hosting des zentralen Repositories und die Synchronisierung von Änderungen mit einer Kaskade öffentlicher und privater Spiegel.
- 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 in das Ports-Baum als „„. Auf der wird ein neues Versionskontrollsystem vorgestellt.
Quelle: opennet.ru
