GIT-compatible version of GOT 0.80 version control system

The developers of the OpenBSD published The production of the versions management system Got 0.80 (Game of Trees), when developing which the main emphasis is on the simplicity of device and use. To store the versioned data, GOT uses a storage compatible with the disk format of Git repositories, which allows you to work with the repository using GOT and GIT tools. For example, using Git, you can perform work that are not implemented in GOT. Code spreads under a free license ISC.

The project sets the main goal to support the development of OpenBSD with an eye on the specifics of the project. Among other things, GOT uses the rules for ensuring security adopted in OpenBSD (for example, separating privileges and the use of PLEDGE and UnVEIL calls) and coding style. The tools are designed for the development process with a common centralized repository and local branches for developers, external access by SSH and reviewing changes by e -mail.

To control versions, the utility got with the usual set of commands is offered. To simplify the work, the utility supports only the minimum necessary set of commands and options sufficient to perform basic operations without unnecessary complications. For advanced operations, it is proposed to use a regular GIT. The repository management operations were put into a separate utility getadmin , performing such tasks as initializing the repository, packaging of indices and cleaning data. For navigation, according to the repository data, the Web interface gotwebd and the utility tog for interactive viewing of the contents of the repository from the command line.

Among the added changes :

  • In the server process gotd , which ensures network access to the repository, the possibility of adding rules for authorizing recording and reading operations In linking to individual repositories.
  • GOTD has added new Listen and Session processes to track calls to the Unix-co-consum and processing sessions. Authentication operations are also made in a separate subsidiary.
  • Isolation of the background process GOTD is translated from Chroot to use the Unveil system call. The restriction on the connection to GOTD only users from the GOTSH group was removed.
  • GOTD implements limiting the number of connections in binding to uid.
  • Gotd.conf Adds to control the compounds, and the Unix_Socket ‘parameter is replaced by a Listen On’.
  • Access to the information shown at the launch of ‘Gotctl Info’ is now provided only to the user Root.
  • The development of the CGI converts over GOT- gotweb
/Media reports cited above.