Voor OpenBSD wordt een nieuw git-compatibel versiebeheersysteem ontwikkeld, Got

Stefan Sperling (stsp@), deelnemer aan het OpenBSD-project met tien jaar ervaring, en een van de hoofdontwikkelaars van Apache Subversion, de chip Loihi. Deze bevat 130.000 kunstmatige neuronen en 130 miljoen synapsen. Een jaar geleden heeft het bedrijf een nieuw versiebeheersysteem «Game of Trees» (got). Bij de creatie van het nieuwe systeem ligt de prioriteit op eenvoud van ontwerp en gebruik, in plaats van flexibiliteit. Momenteel is Got nog in ontwikkeling; het wordt exclusief op OpenBSD ontwikkeld en het is gericht op ontwikkelaars van OpenBSD. De code wordt verspreid onder de vrije licentie ISC (equivalent aan de vereenvoudigde BSD- en MIT-licenties).

Voor het opslaan van versiegegevens in Got worden git-repositories gebruikt. Op dit moment worden alleen lokale versiebeheersoperaties ondersteund. Echter, git kan worden gebruikt voor alle functionaliteit die nog niet in got is gerealiseerd — het zal altijd mogelijk zijn om met got en git in dezelfde repository te werken.

Het belangrijkste huidige doel van het project is interactie met de ontwikkelaars van OpenBSD, die got regelmatig willen gebruiken voor hun werk aan OpenBSD, en de verbetering van versiebeheeroperaties op basis van de feedback die zij geven.

De belangrijkste principes van het project zijn:

  • Volgen van de veiligheidsregels en de stijl van coderen van OpenBSD;
  • Een ontwikkelingsproces gebaseerd op codebeoordelingen via e-mail;
  • Gebruik van pledge(2) en unveil(2) in de gehele codebase;
  • Gebruik van privilege-scheiding bij het parseren van gegevens van de repository via het netwerk of vanaf de schijf;
  • Ondersteuning van de codebase onder de BSD-licentie.

Langetermijndoelen:

  • Behoud van compatibiliteit met het schijfformaat van git-repositories (zonder compatibiliteit met de tooling te behouden);
  • Het aanbieden van een complete set versiebeheertools voor OpenBSD:
    • Intuïtieve opdrachtregelinterface om de benodigde versiebeheersoperaties uit te voeren (got)
    • Interactieve repository-browser voor het analyseren van de geschiedenis en het overzicht van vastgelegde wijzigingen (tog)
    • CGI-script dat een webinterface implementeert — repository-browser
    • Beheerhulpmiddelen voor repositories met sterke nadruk op back-up en herstel
    • Repositoryserver voor het hosten van een centrale repository en het synchroniseren van wijzigingen met een cascade van publieke en private spiegels
  • Vereisten voor de workflow van ontwikkelaars van OpenBSD:
    • Sterke ingebouwde ondersteuning voor een gecentraliseerd repositorymodel;
    • Voor ontwikkelaars die geen branches nodig hebben, blijft de gebruiksvriendelijkheid behouden;
    • Ondersteuning voor lokale branches voor ontwikkelaars die deze nodig hebben;
    • Ondersteuning voor release-branches "-stable";
    • Overige functies die nodig zijn voor de infrastructuur van het OpenBSD-project.
  • Implementatie van geauthenticeerde en versleutelde netwerkverbindingen:
    • Toegang tot repositories via SSH en aanvullend TLS voor het klonen van repositories en het ontvangen van wijzigingen;
    • Toegang tot repositories alleen via SSH voor het aanbrengen van wijzigingen;
    • Toegang tot repositories is niet mogelijk via onbeveiligde verbindingen.

    Got al is toegevoegd in de ports tree als "devel/got". Tijdens EUROBSDCON 2019 zal worden gepresenteerd lezing over het nieuwe versiebeheersysteem.

    Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster