Fossil SCM 2.28

После пяти с половиной месяцев разработки состоялся выпуск 2.28 простой и высоконадёжной распределённой кроссплатформенной системы конфигурационного управления Fossil SCM, разрабатываемой автором SQLite, Дуэйном Ричардом Хиппом.
Fossil SCM выделяется среди систем контроля версий радикальной простотой развёртывания: весь проект — это один исполняемый файл без внешних зависимостей, который одновременно является VCS, встроенным веб-сервером, багтрекером, вики, форумом и чатом. Весь репозиторий со всей историей, тикетами и вики хранится в едином файле SQLite — его можно скопировать, забекапить или отправить коллеге одной командой scp. Проект используется самим автором для разработки SQLite — что само по себе говорит о надёжности инструмента. В отличие от Git, Fossil изначально проектировался с упором на целостность данных и простоту самостоятельного хостинга: поднять собственный сервер — это буквально одна команда fossil server. Философия проекта — «всё необходимое для жизни проекта в одном месте», без внешних сервисов и сложной инфраструктуры.
В новой версии:
- Улучшения защиты от роботов:
- конфигурация по умолчанию теперь разрешает роботам скачивать тарболы и архивы, чтобы лучше поддерживать автоматизированные системы сборки;
- новый специальный тег
zipXв настройке robot-restrict блокирует доступ роботов к тарболам, с исключениями для систем автосборки; - теги вида
ext/PATHв настройке robot-restrict блокируют доступ роботов к конкретным CGI-расширениям по указанному пути.
- В подменю браузера кода добавлен выпадающий список недавних веток.
- Упрощён доступ к тарболам и ZIP-архивам:
- в браузере кода на верхнем уровне появился пункт подменю «Download» для перехода на страницу загрузки архивов;
- добавлена новая страница /download, ссылка на которую появляется в /sitemap при настройке параметра suggested-downloads;
- имена файлов тарболов и ZIP-архивов теперь стандартизированы: включают метку времени и префикс хеша;
- добавлена команда fossil get для загрузки и распаковки конкретного чекина без необходимости клонировать репозиторий.
- Улучшения хронологии событий:
- новый режим просмотра «Simple» — промежуточный между «Verbose» и «Compact»: показывает только хеш чекина с возможностью раскрыть подробности кликом по многоточию;
- при клике по многоточию в режимах «Compact» или «Simple» оно заменяется стрелкой »←» для повторного скрытия деталей;
- добавлена настройка timeline-mark-leaves, управляющая отображением листовых чекинов;
- «безграфовые» хронологии (параметр
ng) теперь отображают цвета веток и кружки чекинов без соединительных линий.
- Метки в Markdown теперь получают идентификаторы по алгоритму «slugify» в стиле GitHub.
- Команда fossil timeline получила опции
-u|--for-userдля фильтрации по пользователю и-rдля вывода в хронологическом порядке. - Новый флаг
--reopen REPOFILEкоманды fossil open позволяет восстановить рабочую копию после перемещения файла репозитория. - Обновлены внутренние таблицы символов Unicode, используемые при обработке регулярных выражений, — с версии 13 до версии 17.
- Новая команда fossil system (сокращённо
fossil sys) предоставляет набор Unix-подобных утилит для работы на платформах с ограниченным окружением. - Веб-страница /help теперь принимает запросы вида
/help/CMDи/help/www/PAGEдля отображения справки по конкретной команде или веб-странице. - Добавлены опции
-tи-Tкоманде fossil praise. - Команда fossil clone получила опцию
--ipv6. - Добавлены псевдонимы
-sи--stopдля опции--stop-on-errorкоманды fossil all. - Добавлена опция
-h|--hashкоманде fossil whatis.
>>> Подробности на fossil-scm.org
