[devel] I: gitoskop готов для замены gitweb.cgi на git.altlinux.org

Anton Farygin rider на basealt.ru
Чт Авг 20 22:36:07 MSK 2026


Всем привет.

Кандидат в прод уже поднят, можно щупать прямо сейчас:

    https://git.altlinux.org/gitoskop/

gitweb.cgi нам служит давно, но это медленный CGI на Perl образца
нулевых, который к тому же почти не сопровождается. gitoskop — замена
ему: сервис на Rust, отдающий то же дерево bare-репозиториев
(gear/gitery-зеркала) по HTTP, но быстро и с современной веб-мордой.

При этом gitoskop не заточен под наши репозитории — это универсальное
решение для просмотра любого дерева bare-репозиториев. Специфика ALT
(раскладка gear/gitery, связь people/ и gears/) задаётся просто в
конфиге, а не вшита в код.

Миграция не ломает ссылки. Это главное, почему gitoskop можно ставить
вместо gitweb, а не рядом: он понимает старые gitweb.cgi-URL. Ссылки вида
?p=...;a=blob_plain;..., a=rss, a=patch, a=atom и прочие продолжают
работать — то, что накидано в старых письмах, вики и багзилле, не
побьётся. Включается ключом gitweb_compat.

Что лучше, чем в gitweb:

  - Веб-морда: дерево, поиск по индексу, файлы с подсветкой (в т.ч. RPM
    spec — с переходами по секциям и макросам), blame с отслеживанием
    переименований, grep по содержимому, лог, диффы рядом.

  - Ссылки на конкретную строку с заметкой: навёл на номер, написал
    коммент, Enter — ссылка уже в буфере. Удобнее скриншота, когда
    объясняешь, где именно сломалось.

  - Видно связь people/ и gears/: помечает, влит ли личный репозиторий в
    сборочный.

  - Работает с телефона: интерфейс подстраивается под узкие экраны, дерево
    и файлы читаются с мобильного (в gitweb этого просто нет).

  - Atom/RSS-фиды на историю коммитов, теги и целые каталоги —
    подписался читалкой и следишь за пакетом.

  - Скачивание любого дерева архивом (tar.gz / tar.bz2 / zip),
    GitHub-стайл commit/<rev>.patch и .diff.

  - Для LLM агентов — MCP-эндпоинт (/_/mcp), восемь read-only инструментов.

Всё ограничено (размеры блобов, каунты, конкуррентность, таймауты) —
рассчитано на недоверенных клиентов.

Как поставить. Пакет gitoskop уже в Сизифе. Ставится одним бинарником:
веб-морда вкомпилена внутрь, отдельный веб-сервер не нужен — в конфиге
ui = true, и всё. Если хочется отдавать статику своим nginx/apache —
есть подпакет gitoskop-webui.

Предлагаю обсудить замену gitweb.cgi на gitoskop на git.altlinux.org.
Пощупайте прод, накидайте, чего не хватает или что ведёт себя не так.

Issues: https://altlinux.space/rider/gitoskop/issues
Сайт проекта:  https://altlinux.space/rider/gitoskop
Лицензия:      AGPL-3.0-or-later




Подробная информация о списке рассылки Devel