Lansarea sistemului de control al versiunilor compatibil cu 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 реализовано удаление бинарных файлов.

Sursa: opennet.ru

Adauga un comentariu