Stefan Sperling (), uczestnik projektu OpenBSD z dziesięcioletnim doświadczeniem, a także jeden z głównych deweloperów Apache Subversion, nowy system kontroli wersji (got). Przy tworzeniu nowego systemu priorytetem jest prostota struktury i łatwość użytkowania, a nie elastyczność. Obecnie Got jest jeszcze w fazie rozwoju; jest rozwijany wyłącznie na OpenBSD, a jego docelową grupą są deweloperzy OpenBSD. Kod jest dystrybuowany na licencji (odpowiednik uproszczonej licencji BSD i MIT).
W celu przechowywania wersjonowanych danych w Got wykorzystuje się repozytoria git. Obecnie wspierane są tylko lokalne operacje zarządzania wersjami. Przy tym git może być używany do wszelkiej funkcjonalności, która jeszcze nie została wdrożona w got — zawsze będzie możliwe działanie z got i git w jednym repozytorium.
Głównym aktualnym projektu jest interakcja z deweloperami OpenBSD, którzy chcą regularnie korzystać z got w swojej pracy nad OpenBSD oraz ulepszanie operacji zarządzania wersjami na podstawie ich opinii.
Główne zasady projektu:
- Przestrzeganie zasad bezpieczeństwa i stylu kodowania OpenBSD;
- Proces rozwoju oparty na przeglądach kodu przez e-mail;
- Użycie () i () w całej bazie kodu;
- Użycie podziału uprawnień przy parsowaniu danych repozytoriów przez sieć lub z dysku;
- Wsparcie dla bazy kodu na licencji BSD.
Cele długoterminowe:
- Zachowanie kompatybilności z formatem dyskowym repozytoriów git (bez zapewnienia kompatybilności z narzędziami);
- Zapewnienie pełnego zestawu narzędzi do zarządzania wersjami dla OpenBSD:
- Intuicyjny interfejs wiersza poleceń do wykonywania niezbędnych operacji zarządzania wersjami ()
- Interaktywny przeglądarka repozytoriów do analizy historii i przeglądu zablokowanych zmian ()
- Skrypt CGI, realizujący interfejs webowy — przeglądarka repozytoriów
- Narzędzia administracyjne repozytoriów z dużym naciskiem na tworzenie kopii zapasowych i przywracanie
- Serwer repozytoriów do hostowania centralnego repozytorium i synchronizacji zmian z kaskadą publicznych i prywatnych luster
- Wymagania dotyczące workflow deweloperów OpenBSD:
- Silne wbudowane wsparcie dla scentralizowanego modelu repozytoriów;
- Dla programistów, którzy nie potrzebują gałęzi, zachowuje się prostotę obsługi;
- Wsparcie lokalnych gałęzi dla programistów, którzy z nich korzystają;
- Wsparcie gałęzi stabilnych „-stable”;
- Inne funkcje niezbędne do budowy infrastruktury projektu OpenBSD.
- Implementacja uwierzytelnionych i szyfrowanych połączeń sieciowych:
- Dostęp do repozytoriów przez SSH oraz dodatkowo TLS do klonowania repozytoriów i pobierania zmian;
- Dostęp do repozytoriów tylko przez SSH do wprowadzania zmian;
- Dostęp do repozytoriów nie jest możliwy przez nieszyfrowane połączenia.
Got już do drzewa portów jako „„. Na zostanie zaprezentowane o nowym systemie kontroli wersji.
Źródło: opennet.ru
