Издание на git-съвместимата система за управление на версии Got 0.80

Разработчиците на проекта OpenBSD публикуваха версия на системата за управление на версии Got 0.80 (Game of Trees), при разработката на която основният акцент е върху простотата на устройството и употребата. За съхранение на версионираните данни Got използва хранилище, съвместимо с дисковия формат на хранилищата Git, което позволява работа с хранилището чрез инструментите на Got и Git. Например, с Git могат да се извършват операции, които не са реализирани в Got. Кодът се разпространява под свободната лицензия ISC.

Проектът има за основна цел придружаване на разработката на OpenBSD, имайки предвид спецификата на проекта. Сред другото, в Got се прилагат приетите в OpenBSD правила за осигуряване на безопасност (например, разделение на привилегии и използване на системни повика pledge и unveil) и стил на писане на код. Инструментариумът е предназначен за процес на разработка с централизирано хранилище и локални клонове за разработчици, достъп от външни потребители по SSH и рецензиране на промените по електронна поща.

За управление на версиите се предлага утилита got с познатия набор от команди. За опростяване на работата, утилитата поддържа само минимално необходимия набор от команди и опции, достатъчни за изпълнение на основни операции без излишни усложнения. За разширени операции се предлага да се използва обикновен git. Операциите по управление на хранилището са извлечени в отделна утилита gotadmin, която изпълнява задачи като инициализация на хранилището, опаковане на индекси и почистване на данни. За навигация по данните в хранилището се предлага уеб интерфейс gotwebd и утилита tog за интерактивно преглеждане на съдържанието на хранилището от командния ред.

Сред добавените промени:

  • В сървърния процес gotd, който осигурява мрежов достъп до хранилището, е реализирана възможност за добавяне на правила за авторизация на операции по запис и четене, свързани с отделни хранилища.
  • В gotd са добавени нови процеси „listen“ и „session“ за проследяване на обращения към unix-сокета и обработка на сесиите. Операциите по аутентификация са прехвърлени в отделен дъщерен процес.
  • Изолацията на фоновия процес gotd е преминала от chroot към използване на системното повикване unveil. Ограничението за свързване към gotd само от потребители от групата gotsh е премахнато.
  • В gotd е реализирано ограничение на броя на свързванията, свързани с uid.
  • В gotd.conf са добавени настройки за управление на връзките, а параметърът unix_socket е заменен с listen on.
  • Достъпът до информацията, показвана при стартиране на gotctl info, сега се предоставя само на потребителя root.
  • Разработката на CGI-обвивката над got — gotweb, е прекратена; вместо нея за уеб-интерфейса следва да се използва FastCGI реализацията gotwebd, чийто възможности са значително разширени. Например, в gotwebd е добавен шаблонизатор за опростяване на промяната на оформления на страниците, добавена е RSS лента за проследяване на таговете, подобрено е визуализирането на блобове и списъци с комити.
  • В командите got log, got diff и tog diff е реализирана поддръжка на изход в формат diffstat.
  • Потреблението на памет е намалено чрез ограничаване на броя на таговете, съхранявани в кеша на обектите.
  • В got patch е реализирано изтриване на бинарни файлове.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster