Для хранения версионированных данных в Got используются git-репозитории. В настоящее время поддерживаются только локальные операции управления версиями. При этом, git может использоваться для любой функциональности, которая ещё не реализована в got — работать с got и git в одном репозитории всегда будет возможно.
Основной текущей целью проекта называется взаимодействие с разработчиками OpenBSD, которые хотят регулярно использовать got для своей работы над OpenBSD, и улучшение операций управления версиями на основе полученной от них обратной связи.
Основные принципы проекта:
- Следование правилам безопасности и стилю кодирования OpenBSD;
- Процесс разработки, основанный на рецензировании кода по электронной почте;
- Использование pledge(2) и unveil(2) во всей кодовой базе;
- Использование разделения привилегий при парсинге данных репозитория по сети или с диска;
- Поддержка кодовой базы под лицензией BSD.
Долгосрочные цели:
- Сохранение совместимости с дисковым форматом репозитория git (без сохранения совместимости с инструментарием);
- Предоставление полного набора инструментов управления версиями для OpenBSD:
- Интуитивно понятный интерфейс командной строки для выполнения необходимых операций управления версиями (got)
- Интерактивный браузер репозитория для анализа истории и обзора зафиксированных изменений (tog)
- CGI-скрипт, реализующий веб-интерфейс — браузер репозитория
- Инструменты администрирования репозиториев с сильным акцентом на резервное копирование и восстановление
- Сервер репозитория для хостинга центрального репозитория и синхронизации изменений с каскадом публичных и частных зеркал
- Требования к рабочему процессу разработчиков OpenBSD:
- Сильная встроенная поддержка централизованной модели репозитория;
- Для разработчиков, которым не нужны ветки (branch), сохраняется простота использования;
- Поддержка локальных веток для разработчиков, которые в них нуждаются;
- Поддержка релизных веток «-stable»;
- Прочие функции, необходимые для построения инфраструктуры проекта OpenBSD.
- Реализация аутентифицированных и шифрованных сетевых соединений:
- Доступ к репозиториям по SSH и дополнительно TLS для клонирования репозитория и получения изменений;
- Доступ к репозиториям только по SSH для внесения изменений;
- Доступ к репозиториям невозможен через незашифрованные соединения.
Got уже добавлен в дерево портов как «devel/got«. На EUROBSDCON 2019 будет представлен доклад про новую систему контроля версий.
Источник: http://www.opennet.ru/opennews/art.shtml?num=51265