Спустя шестнадцать месяцев после выхода 0.10.1 git-bug, распределённый баг-трекер, работающий офлайн и хранящий данные об issue прямо в репозиториях Git, выпустил версию 0.11. В неё вошли полностью переписанный веб-интерфейс, встроенный браузер кода, улучшенная индексация поиска и множество исправлений.
Для тех, кто не знаком с git-bug, идея проста. Вместо хранения баг-репортов на централизованных сервисах вроде GitHub или GitLab, git-bug держит их в Git и позволяет отправлять и получать их через обычные Git-remote. Проект полностью работает офлайн и предлагает CLI, терминальный и веб-интерфейс.
Самое заметное изменение в версии 0.11, новый веб-интерфейс, разработчики переписали с нуля.
Прежний интерфейс в основном позволял просматривать issue, а новый даёт возможность управлять ими. В нём можно просматривать, искать, фильтровать и постранично выводить issue, создавать новые, добавлять и редактировать комментарии, менять заголовки, метки и статус issue, а также смотреть профили пользователей с их issue.
Фильтры сохраняются прямо в URL, поэтому отфильтрованный список issue можно передать ссылкой. В интерфейсе есть четыре темы, светлые и тёмные варианты в мягком и строгом стиле. Если сервер обслуживает несколько репозиториев, между ними можно переключаться.

Ещё одно существенное дополнение касается не только работы с issue. Теперь веб-интерфейс работает и как браузер кода репозитория.
Можно перемещаться по дереву файлов репозитория, просматривать файлы с подсветкой синтаксиса и номерами строк, давать ссылки прямо на нужные диапазоны строк и отображать Markdown-файлы прямо в браузере. Интерфейс также показывает историю коммитов для отдельных файлов и каталогов, детали коммитов и сворачиваемые diff, а также позволяет переключаться между ветками и тегами.
Эти возможности не ограничены фронтендом. Бэкенд git-bug теперь умеет просматривать ссылки Git, деревья, блобы, историю коммитов и diff, а доступ к этим функциям открыт через GraphQL API проекта. Появился и новый HTTP-эндпоинт для получения исходных файлов репозитория.

Внутри версии 0.11 проделана большая работа над корректностью. Разработчики устранили проблемы, связанные с гонками в кеше, устаревшими метаданными, неатомарными коммитами, не обновляющимися после merge индексами поиска и метками, которые были общими для разных представлений одного и того же бага.
Улучшилась и совместимость с будущими версиями. Неизвестные операции теперь сохраняются, а не отбрасываются. Если более новая версия git-bug или другая реализация запишет операцию, которую старая версия не понимает, данные останутся целыми и не потеряются при перезаписи бага.
Ещё одно заметное улучшение касается поискового индекса. git-bug перешёл с Bleve v1 на Bleve v2, и, по словам разработчиков, на репозитории самого проекта размер индекса уменьшился примерно с 51 МиБ до менее чем 4 МиБ. Существующие индексы перестраиваются автоматически при обновлении.
Наконец, есть несколько несовместимых изменений, о которых нужно помнить. Установка git-bug через go install больше не включает веб-интерфейс, команда git bug commands удалена, а опция git bug webui --host переименована в --bind. Прекращена поддержка некоторых редко тестируемых платформ, в том числе Linux на 386 и s390x.
Подробности и ссылки на сборки доступны на странице релиза проекта в GitHub.
Изображения: git-bug.





Пока нет комментариев. Будьте первым!