Как заставить hgweb отображать репозитории в иерархии?

У меня есть около 100 хранилищ Mercurial, обслуживаемых hgweb, Репозитории хранятся в иерархии папок, но hgweb отображает структуру "плоско". Это не масштабируется. Есть ли способ отобразить хранилища в древовидной иерархии?

3 ответа

Мне нравится организовывать свои репозитории по типу, вот как выглядит мой конфиг hgweb:

[web]
baseurl =

[paths]
/apps = /var/hg/apps/*
/config = /var/hg/config/*
/design = /var/hg/design/*
/music = /var/hg/music/*
/projects = /var/hg/projects/*
/scripts = /var/hg/scripts/*

Вы также можете использовать **, чтобы рекурсивно отображать каталоги.

[paths]
/ = /var/hg/**

Проверьте документы для других деталей / вариантов: http://www.selenic.com/mercurial/hgrc.5.html.

Вы также можете быть заинтересованы в RhodeCode, который является более многофункциональным веб-интерфейсом для Mercurial.

Я не уверен, был ли это вариант во время вопроса, но теперь есть опция, которая позволяет спускаться в каталоги.

[web]
descend = True

Затем у вас есть два варианта настройки путей. Если вы укажете путь с одной звездочкой, он будет опускаться в подкаталоги, пока не найдет репозитории.

[paths]
/ = /var/hg/*

Если вы укажете путь с двумя звёздочками, он также спустится в репозитории, чтобы посмотреть, есть ли вложенные репозитории или вложенные репозитории.

[paths]
/ = /var/hg/**

Вы можете найти более подробную информацию о Mercurial вики на PublishingRepositories.

(Звучит так, как будто вы также хотите, чтобы иерархия отображалась в виде дерева. Это решение влияет только на то, какие репозитории будут обнаружены. Оно не изменит способ их отображения. Я не знаю каких-либо встроенных таким образом, чтобы выполнить иерархическое отображение.)

У меня была та же проблема, и я решил, включив collapse опция:

[web]
collapse = yes
Другие вопросы по тегам