Обратите внимание, что это может быть лучше всего подходит для serverfault.com, но поскольку речь идет о размещении репозитория исходного кода программиста, я не совсем уверен. Сначала я отправляю сообщение, полагая, что при необходимости он будет перенесен.Хостинг Mercurial на IIS7
Я пытаюсь разместить клоны моих Mercurial репозиториев на моем собственном сервере (у меня есть основное репо где-то в другом месте), и я пытаюсь настроить Mercurial под IIS.
Я следовал за гидом here
, но я получаю сообщение об ошибке
.
Решено: Подробности см. В нижней части этого вопроса.
Сообщение об ошибке:
mercurial.error.RepoError: repository /path/to/repo/or/config not found
Вот что я сделал.
- Я установил Mercurial 1.5.2
- Я создал C: \ Inetpub \ рт.ст.
- Скачал источник рт.ст., как в соответствии с инструкциями на веб-странице, и скопировать файл hgweb.cgi в C: \ Inetpub \ Hg (примечания, веб-страница говорит
hgwebdir.cgi
, но этот конкретный файл не существует,hgweb.cgi
, тем не менее, это может быть источником проблемы?) Я добавил hgweb.config, со следующим содержание:
[paths] repo1 = C:/hg/** [web] style = monoblue
Я создал C: \ Hg, создал тест подкаталог, и создали хранилище внутри него
- Я установил питон 2.6.5, последнюю 2.6 версию с веб-сайта (веб-страницы упоминает мне нужно установите правильную версию или я получу конкретное сообщение об ошибке, так как я не получаю сообщение об ошибке, которое выглядит удаленно, как указано выше, я предполагаю, что 2.6.5 не проблема)
- Я добавил новый виртуальный host hg.vkarlsen.no, указывая на c: \ inetpub \ hg
- Для этого хоста я добавил сопоставление скриптов в разделе «Сопоставление обработчиков», сопоставление * .cgi с
c:\python26\python.exe -u %s %s
согласно инструкциям на веб-сайте.
Затем я проверил его, перейдя на http://hg.vkarlsen.no/hgweb.cgi, но получаю сообщение об ошибке.
Для того, чтобы было легче проверить, я упал в командной строке, переходите к C: \ Inetpub \ рт.ст., и выполнив следующую команду (сообщение об ошибке является частью текста ниже):
C:\inetpub\hg>c:\python26\python.exe -u hgweb.cgi
Traceback (most recent call last):
File "hgweb.cgi", line 16, in <module>
application = hgweb(config)
File "mercurial\hgweb\__init__.pyc", line 12, in hgweb
File "mercurial\hgweb\hgweb_mod.pyc", line 30, in __init__
File "mercurial\hg.pyc", line 82, in repository
File "mercurial\localrepo.pyc", line 2221, in instance
File "mercurial\localrepo.pyc", line 62, in __init__
mercurial.error.RepoError: repository /path/to/repo/or/config not found
Кто-нибудь знает, что мне нужно посмотреть, чтобы это исправить?
Edit: Хорошо, я думаю, что мне удалось получить один шаг ближе к решению, но я все еще озадачен.
Я понял.CGI-файл представляет собой файл сценария питона, а не что-то компиляции, так что я открыл его для редактирования, и эти строки сидит в нем:
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "/path/to/repo/or/config"
Так что это был мой источник для конкретного сообщения об ошибке.
Если изменить линию к этому:
config = "c:\\hg\\test"
Тогда я могу перемещаться по пустой репозиторий через Mercurial веб-интерфейс.
Однако, я хочу провести несколько хранилищ, и, видя, как линия говорит, что я могу также ссылку на файл hgweb конфигурации, я попытался это:
config = "c:\\inetpub\\hg\\hgweb.config"
Но тогда я получаю следующее сообщение об ошибке:
mercurial.error.Abort: c:\inetpub\hg\hgweb.config: not a Mercurial bundle file
Exception ImportError: 'No module named shutil' in <bound method bundlerepository.__del__
of <mercurial.bundlerepo.bundlerepository object at 0x0260A110>> ignored
Ничего я пытался для переменной конфигурации, кажется, работает:
config = "hgweb.config"
config = "c:\\hg\\hgweb.config"
- различные другие варианты, которые я не помню.
Итак, все еще тупик, указатели на кого-нибудь?
Надеюсь, этот вопрос предоставит другим информацию, если они будут в тупике, как и я.
Вы можете ответить самим себе и принять свой ответ, поэтому вопрос не отображается как неотвеченный. – tonfa
Спасибо за напоминание. –