Настройка сервера Mercurial в IIS 6

#windows #iis-6 #mercurial #hosting #installation

#Windows #iis-6 #mercurial #хостинг #установка

Вопрос:

Я настроил сервер Mercurial на компьютере с Windows 2003 / IIS 6, и когда я пытаюсь извлечь репозиторий, я получаю следующую последовательность

 requesting all changes
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: premature EOF reading chunk (got 91303 bytes, expected 1542634)
  

Я перепробовал практически все, что мог придумать, но безуспешно. Я следовал инструкциям из руководства Джереми Скиннерса по выполнению этого для IIS7, но на сервере IIS6.

Я нашел сообщение, в котором автор столкнулся с той же проблемой, но не смог найти решение.

Пока похоже, что решение заключается в переходе на Apache или обновлении до Windows 2008 / II7 .. но если кто-то знает, как это решить, пожалуйста, дайте мне знать

Ответ №1:

Я отвечу на этот вопрос сам.

Проблема оказалась в том, что в IIS 6 время ожидания CGI-скрипта составляет 5 минут (и ниже, не уверен насчет 7), и это было то, что продолжало попадать. Чтобы изменить значение времени ожидания, у вас должен быть установлен IIS 6 Resource Kit.

После установки запустите утилиту MetaBase Explorer и перейдите в LM W3SVC, найдите запись CGITimeout и измените значение с 300 по умолчанию (5 минут) на более высокое значение (в итоге я использовал 20 минут).

После изменения значения я перезапустил IIS, чтобы убедиться, что он используется сервером. Как только это было сделано, все заработало как по волшебству!

Перекрестная публикация в моем блоге

Комментарии:

1. Потрясающе! Я думал, что что-то повредил при перемещении репозиториев! Хорошая экономия

2. Спасибо за публикацию ответа. Это тоже вызывало у нас проблемы. Иногда полный клон срабатывал (быстрое соединение), но в других случаях давал сбой (медленное соединение). Нет строгой необходимости устанавливать набор ресурсов IIS 6. Достаточно установить флажок «Включить прямое редактирование метабазы» (в диалоговом окне свойств диспетчера IIS), затем напрямую отредактировать XML Metabase.xml файл (находится в каталоге «WINDOWSsystem32inetsrv») для изменения значения параметра «CGITimeout». Конечно, проводник метабазы, вероятно, удобнее, если вам нужно внести другие изменения.

Ответ №2:

Я еще не пробовал, но есть вот что: Запуск Mercurial в Windows

Если вы прокрутите вниз до раздела «Windows Server 2003 / XP», я думаю, что это должно охватить вас для IIS 6.

Ответ №3:

Вы ознакомились с руководством Джоэла? Возможно, вы найдете ответ там.

Комментарии:

1. Там ничего нет о хостинге IIS, или я просто пропустил это?

2. Ничего стоящего, но hginit.com/02.html содержит основную информацию об использовании hg serve , которая ужасна для профессиональной компании.