Wydanie systemu kontroli wersji Got 0.80 zgodnego z git

Deweloperzy projektu OpenBSD opublikowali wydanie systemu kontroli wersji Got 0.80 (Game of Trees), którego główny nacisk kładzie na prostotę konstrukcji i użycia. Do przechowywania wersjonowanych danych Got wykorzystuje magazyn zgodny z formatem dysku repozytoriów Git, co pozwala na pracę z repozytorium za pomocą narzędzi Got i Git. Na przykład, za pomocą Gita można wykonywać operacje, które nie są zrealizowane w Got. Kod jest dystrybuowany na licencji ISC.

Projekt ma na celu wsparcie rozwoju OpenBSD z uwzględnieniem specyfiki projektu. W Got stosowane są zasady zapewnienia bezpieczeństwa przyjęte w OpenBSD (np. podział uprawnień oraz wykorzystanie wywołań pledge i unveil) oraz styl pisania kodu. Narzędzie zostało zaprojektowane do pracy w procesie rozwoju z centralnym repozytorium oraz lokalnymi gałęziami dla programistów, z zewnętrznym dostępem przez SSH i recenzowaniem zmian drogą mailową.

Do zarządzania wersjami dostępna jest narzędzie got z typowym zestawem poleceń. Aby uprościć pracę, narzędzie obsługuje tylko minimalny niezbędny zestaw poleceń i opcji, wystarczających do wykonywania podstawowych operacji bez zbędnych komplikacji. Do zaawansowanych operacji należy wykorzystać standardowy git. Operacje związane z zarządzaniem repozytorium przeniesiono do oddzielnego narzędzia gotadmin, które wykonuje takie zadania jak inicjalizacja repozytorium, pakowanie indeksów i czyszczenie danych. Do nawigacji po danych w repozytorium dostępny jest interfejs webowy gotwebd oraz narzędzie tog do interaktywnego przeglądania zawartości repozytorium z poziomu wiersza poleceń.

Wśród dodanych zmian:

  • W procesie serwerowym gotd, który zapewnia dostęp sieciowy do repozytorium, wprowadzono możliwość dodawania zasad autoryzacji operacji zapisu i odczytu związanych z poszczególnymi repozytoriami.
  • W gotd dodano nowe procesy „listen” i „session” do śledzenia zapytań do gniazda unix i obsługi sesji. Operacje uwierzytelniania zostały przeniesione do oddzielnego procesu podrzędnego.
  • Izolacja procesu w tle gotd została przekształcona z chroot na wykorzystanie wywołania systemowego unveil. Usunięto ograniczenie łączenia się z gotd tylko dla użytkowników z grupy gotsh.
  • W gotd wprowadzono ograniczenie liczby połączeń w odniesieniu do uid.
  • W gotd.conf dodano ustawienia do zarządzania połączeniami, a parametr unix_socket’ został zastąpiony przez ‘listen on’.
  • Dostęp do informacji wyświetlanych podczas uruchamiania ‘gotctl info’ jest teraz dostępny tylko dla użytkownika root.
  • Zakończono rozwój warstwy CGI dla got - gotweb, zamiast której do interfejsu webowego należy używać implementacji FastCGI gotwebd, której możliwości zostały znacznie rozszerzone. Na przykład w gotwebd dodano system szablonów do ułatwienia zmiany wyglądu stron, dodano kanał RSS do śledzenia tagów oraz poprawiono wyświetlanie blobów i list commitów.
  • W poleceniach got log, got diff i tog diff wprowadzono obsługę wyjścia w formacie diffstat.
  • Zmniejszono zużycie pamięci poprzez ograniczenie liczby tagów przechowywanych w pamięci podręcznej obiektów.
  • W got patch wprowadzono usuwanie plików binarnych.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster