|
Опубликован выпуск проекта git-bug 0.11.0, развивающего систему отслеживания ошибок, хранящую информацию об проблемах и комментарии в форме объектов в репозитории Git. По аналогии с изменениями в исходном коде инструментарий git-bug позволяет помещать информацию об отслеживаемых ошибках во внешние репозитории, используя операцию push, а также извлекать данные из внешнего в локальный репозиторий операцией pull. Код проекта написан на языке Go и распространяется под лицензией GPLv3
Проект git-bug использует обычный репозиторий Git для хранения описаний проблем, базы пользователей и комментариев в версионированном виде. Децентрализованная архитектура Git позволяет работать в offline-режиме с периодической синхронизацией изменений. Из возможностей выделяется поддержка работы с сообщениями об ошибках через командную строку, консольный интерфейс или web-интерфейс, и очень быстрое выполнение операций поиска и навигации по сообщениям об ошибках. Предоставляются прослойки для синхронизации с сервисами отслеживания ошибок GitHub, GitLab, Jira и Launchpad.
Основные новшества:
- Реализован новый web-интерфейс для навигации по сообщениям о проблемах. Предоставляются такие возможности как поиск и фильтрация содержимого, создание новых отчётов о проблемах, добавление и редактирование комментариев, изменение меток и статуса, просмотр профилей пользователей. Предоставляются по два варианта светлой и тёмной тем оформления. Поддерживается работа с разными репозиториями.
В web-интерфейс встроена система навигации по коду, позволяющая управлять файлами, просматривать код с подсветкой синтаксиса, отображать документы в формате markdown, отслеживать историю коммитов и оценивать изменения. В дальнейшем планируется реализовать возможности для рецензирования кода и открытия публичного доступа для просмотра содержимого для участников без учётной записи.
- Решены проблемы в реализации кэша, приводившие к состояниям гонки, рассогласованию данных и неатомарной обработке коммитов.
- В API добавлена поддержка подписки на события через GraphQL, позволяющая получать сведений об изменениях без периодического опроса состояния.
- Для сборки релизов задействован инструментарий GoReleaser, позволивший сформировать пакеты в форматах deb, rpm, apk и pkg (Arch Linux), а также задействовать верификацию загрузок по цифровой подписи.
|