Випуск 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, що виконує такі завдання як ініціалізація репозиторію, упаковка індексів та чищення даних. Для навігації за даними у репозиторії пропонується web-інтерфейс 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, замість якої для web-інтерфейсу слід використовувати FastCGI-реалізацію gotwebd, можливості якої значно розширені. Наприклад, до gotwebd додано шаблонизатор для спрощення зміни оформлення сторінок, додано стрічку RSS для відстеження тегів, покращено відображення блобів та списків коммітів.
  • У командах got log, got diff та tog diff реалізована підтримка виведення у форматі diffstat.
  • Знижено споживання пам'яті рахунок обмеження кількості тегів, збережених у кеші об'єктів.
  • У got patch реалізовано видалення бінарних файлів.

Джерело: opennet.ru

Додати коментар або відгук