Les développeurs du projet OpenBSD ont publié la version du système de gestion de versions Got 0.80 (Game of Trees), qui met principalement l'accent sur la simplicité de conception et d'utilisation. Pour le stockage des données versionnées, Got utilise un format d'entrepôt compatible avec le format de disque des dépôts Git, ce qui permet de travailler avec le dépôt à l'aide des outils Got et Git. Par exemple, il est possible d'effectuer des tâches non réalisées dans Got via Git. Le code est distribué sous licence libre ISC.
Le projet vise principalement à accompagner le développement d'OpenBSD en tenant compte des spécificités du projet. Entre autres, Got applique les règles de sécurité adoptées dans OpenBSD (comme la séparation des privilèges et l'utilisation des appels pledge et unveil) et le style d'écriture du code. L'outil est conçu pour un processus de développement avec un dépôt centralisé commun et des branches locales pour les développeurs, un accès externe par SSH et la révision des modifications par e-mail.
Pour la gestion des versions, l'utilitaire got est proposé avec un ensemble de commandes familier. Pour simplifier le travail, l'utilitaire prend en charge uniquement le minimum de commandes et d'options nécessaires pour effectuer les opérations de base sans complications inutiles. Pour des opérations avancées, il est recommandé d'utiliser git habituel. Les opérations de gestion du dépôt sont transférées à un utilitaire distinct gotadmin, qui effectue des tâches telles que l'initialisation du dépôt, l'emballage des index et le nettoyage des données. Pour naviguer dans les données du dépôt, une interface web gotwebd et l'utilitaire tog pour une visualisation interactive du contenu du dépôt depuis la ligne de commande sont proposées.
Parmi les changements ajoutés :
- Dans le processus serveur gotd, qui assure l'accès réseau au dépôt, il est désormais possible d'ajouter des règles pour l'autorisation des opérations d'écriture et de lecture liées à des dépôts spécifiques.
- De nouveaux processus 'listen' et 'session' ont été ajoutés dans gotd pour suivre les requêtes vers le socket UNIX et gérer les sessions. Les opérations d'authentification ont également été déplacées dans un processus fils distinct.
- L'isolation du processus en arrière-plan gotd a été transférée de chroot à l'utilisation de l'appel système unveil. La restriction de connexion à gotd uniquement pour les utilisateurs du groupe gotsh a été supprimée.
- Dans gotd, une limitation du nombre de connexions a été mise en œuvre en fonction du uid.
- Des paramètres ont été ajoutés dans gotd.conf pour gérer les connexions, et le paramètre unix_socket a été remplacé par 'listen on'.
- L'accès aux informations affichées lors du lancement de 'gotctl info' est désormais réservé uniquement à l'utilisateur root.
- Le développement de l'interface CGI pour got — gotweb, a été arrêté, et pour l'interface web, il faut désormais utiliser l'implémentation FastCGI de gotwebd, dont les fonctionnalités sont considérablement étendues. Par exemple, gotwebd dispose d'un moteur de templates pour faciliter la personnalisation des pages, d'un flux RSS pour suivre les tags, et l'affichage des blobs et des listes de commits a été amélioré.
- Les commandes got log, got diff et tog diff prennent désormais en charge la sortie au format diffstat.
- La consommation de mémoire a été réduite grâce à une limitation du nombre de tags stockés dans le cache d'objets.
- Dans got patch, la suppression des fichiers binaires a été mise en œuvre.
Source : opennet.ru
