Выпуск 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 реализовано удаление бинарных файлов.



Источник: http://www.opennet.ru/opennews/art.shtml? num=58499

© OpenNet