A new git-compatible version control system Got is being developed for OpenBSD

Stefan Sperling (stsp@), a participant in the OpenBSD project with ten years of experience, as well as one of the main developers of Apache Subversion, developing a new version control system ‘Game of Trees’ (got). In creating this new system, priority is given to simplicity of design and ease of use, rather than flexibility. Currently, Got is still in development; it is being developed exclusively on OpenBSD, and its target audience is OpenBSD developers. The code is distributed under the free ISC (equivalent to the simplified BSD and MIT licenses).

To store versioned data, Got uses git repositories. Currently, only local version control operations are supported. At the same time, git can be used for any functionality that has not yet been implemented in got — working with got and git in the same repository will always be possible.

The main current goal of the project is to facilitate interaction with OpenBSD developers who want to regularly use got for their work on OpenBSD, and to improve version control operations based on the feedback received from them.

The main principles of the project are:

  • Compliance with OpenBSD's security and coding style guidelines;
  • A development process based on email code reviews;
  • Using pledge(2) and unveil(2) throughout the codebase;
  • Utilization of privilege separation when parsing repository data over the network or from disk;
  • Support for the codebase under the BSD license.

Long-term goals:

  • Maintaining compatibility with the disk format of git repositories (without ensuring compatibility with toolchains);
  • Providing a full set of version control tools for OpenBSD:
    • An intuitive command-line interface to perform necessary version control operations (got)
    • An interactive repository browser for exploring history and reviewing committed changes (tog)
    • A CGI script that implements a web interface — repository browser
    • Repository administration tools with a strong focus on backup and recovery
    • A repository server for hosting a central repository and synchronizing changes with a cascade of public and private mirrors
  • Requirements for the workflow of OpenBSD developers:
    • Strong built-in support for a centralized repository model;
    • For developers who do not need branches, ease of use is preserved;
    • Support for local branches for developers who require them;
    • Support for stable release branches;
    • Other features necessary for building the OpenBSD project infrastructure.
  • Implementation of authenticated and encrypted network connections:
    • Access to repositories via SSH and additionally TLS for cloning repositories and fetching changes;
    • Access to repositories only via SSH for making changes;
    • Access to repositories is not allowed over unencrypted connections.

    Got already implemented in the ports tree as "devel/got". At EUROBSDCON 2019 it will be presented report about the new version control system.

    Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster