mercurial hgweb.config не находит репозитории, проблема с путями - PullRequest
2 голосов
/ 24 августа 2011

У меня есть репозиторий, настроенный на веб-сервере apache с использованием сценария hgweb.cgi, объявленного в моем файле apache2.conf следующим образом:

ScriptAlias /hgp "/var/www/hgrepublic/hgweb.cgi"

В моем сценарии hgweb.cgi, если я установлюПеременная config в качестве пути к моему хранилищу:

config = "/var/www/hgrepublic/fakecake"

это работает, и я вижу историю моего хранилища на http://localhost/hgp

Теперь, если я хочу использовать файл hgweb.config,Я устанавливаю переменную config в сценарии hgweb.cgi следующим образом:

config = "hgweb.config"

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

[paths]
/ = /var/www/hgrepublic/**
fakecake = /fakecake
fakecake = /var/www/hgrepublic/fakecake

Любая идея, чтобы помочь мне заставить его работать с файлом конфигурации?(Я хотел бы иметь несколько репозиториев, объявленных в файле конфигурации)

Примечание: hgweb cgi и файлы конфигурации находятся в папке / var / www / hgrepublic /, а также в папке репозитория fakecake.

Ответы [ 2 ]

1 голос
/ 01 сентября 2011

Я нашел решение своего вопроса, посмотрев на источник.

Я использовал dict в файле hgweb.cgi, чтобы передать различные репозитории, которые я хочу показать:

config = {'repo1' : '/path/to/repo1', 'repo2' : '/path/to/repo2'}

Это работает следующим образом, поэтому я думаю, что в файле hgweb.config для секции [paths] может быть проблема с анализом?

0 голосов
/ 18 октября 2016

Раздел [paths] преобразует URL в путь к хранилищу.Попробуйте:

hgweb.config

[paths]
/hpg/fakecake = /var/www/hgrepublic/fakecake
/hpg/repo2 = /var/www/hgrepublic/repo2

hgweb.cgi

config = "hgweb.cgi"  # or /path/to/hgweb.cgi if not in cwd
...