windows - Как настроить Mercurial и hgwebdir на IIS?




(7)

Вы можете попробовать HgLab . Это не совсем hgwebdir; скорее это чисто управляемая реализация Mercurial с помощью push-pull-сервера и браузера репозитория.

Я все время искал приличные инструкции о том, как заставить hgwebdir работать в IIS, но я не нашел большой ценности.

В «Mercurial wiki» есть «шаг за шагом» , но это не очень хорошо. Есть и this и this , но опять же, я не могу найти хороших шагов, чтобы привести их туда, где они начинаются.




Мне просто нужно было установить новый экземпляр Mercurial вчера, вот обновленные инструкции для 1.7:

  1. Установите Mercurial (эти инструкции были протестированы с 1.7)
  2. Установите Python (для Mercurial 1.7 вы должны использовать версию x86 для Python 2.6.6)
  3. Вам нужно будет загрузить файл hgweb.cgi из источника Mercurial. Вы можете загрузить исходный код, запустив: hg clone https://www.mercurial-scm.org/repo/hg/
  4. Создайте папку, которая будет вашей папкой веб-приложения. Вам нужно будет скопировать три вещи в эту папку:

    • Файл hgweb.cgi
    • Содержимое Library.zip из папки «C: \ Program Files \ Mercurial»
    • Папка «Шаблоны» из вашего «C: \ Program Files \ Mercurial»
  5. Вам нужно будет убедиться, что Python настроен в IIS.

    • Включить CGI через: Панель управления -> Включение или выключение функций Windows -> Роли -> Веб-сервер (IIS) -> Добавить службы ролей -> Проверить CGI
    • Создайте новый веб-сайт в IIS и убедитесь, что физический путь - это папка, созданная выше.
    • В сопоставлениях обработчиков для нового веб-сайта выберите «Добавить карту сценария». Введите * .cgi для пути запроса, c: \ Python26 \ python.exe -u "% s" для исполняемого файла и Python для имени.
  6. Вам также потребуется создать файл с именем «hgweb.config» с содержимым, аналогичным приведенному ниже. Путь в файле должен быть местоположением на вашем диске, где вы хотите сохранить хранилища Mercurial:

    [коллекция]
    c: \ Mercurial \ repos = c: \ Mercurial \ repos

  7. Отредактируйте файл hgweb.cgi и измените строку, где он устанавливает путь к вашему hgweb.config примерно так: (где бы файл hgweb.config):

    config = "C: \ Mercurial \ hgweb.config"

  8. Теперь откройте браузер и перейдите по http://localhost/mercurial/hgweb.cgi (или какой-либо соответствующий URL-путь, который вы настроили в IIS), и вы увидите страницу Mercurial Repositories.

Кроме того, посмотрите сообщение блога Джереми Скинерс . Это немного устарело, но есть некоторые дополнительные приятные шаги, такие как настройка повторной записи URL-адресов для более чистого URL-адреса.


Похоже, что с момента выпуска Mercurial 1.5.2 эти учебники не работают точно. Во-первых, hgwebdir.cgi был удален и теперь заменен на hgweb.cgi.

Инструкции, которые лучше всего eworldui.net для меня, - это eworldui.net :

eworldui.net

Эти инструкции предназначены для IIS 7 или выше. Если вы настроите это на IIS 6, я написал похожие инструкции, ориентированные на Win2k3 и IIS 6.0:

http://partialclass.blogspot.com/2010/05/setting-up-mercurial-server-on-win2k3.html

ОБНОВЛЕНИЕ: Вскоре после получения этой работы я узнал, что BitBucket изменил свою схему ценообразования на бесплатный, неограниченный частный хостинг: https://bitbucket.org/ . Я бы выбрал это в одно мгновение, когда я изначально работал над этим проектом.


Я боролся с этой настройкой для mercurial 1.7.2 в течение прошлой недели или около того, мне приходилось делать что-то немного иначе, чем в приведенных выше статьях, чтобы заставить его работать.

Проводя здесь, потому что Google продолжал возвращать меня сюда ...

Полные инструкции, размещенные здесь

Я следил за комбинацией eworldui.net и они (в источнике)

Основные отличия заключаются в том, что я должен был установить «чистый python» для установки mercurial, иначе он будет жаловаться на отсутствующие DLL, и я обнаружил, что важно использовать «установщики python» для pywin и isapi-wsgi. (возможно, это очевидно для опытных разработчиков python, но я новичок в python, так что это были новости для меня)

Надеюсь, что это помогает кому-то, и я не просто делаю что-то (я мог бы быть, как я уже сказал, новичок python)


Я столкнулся с ошибкой типа «... не могу загрузить модуль ...», и после некоторого чтения ключ для меня состоял в том, чтобы игнорировать файл Library.zip в папке Mercurial и вместо этого использовать один из C: \ Папка Program Files (x86) \ TortoiseHg.

Этот совет, который я нашел в этом руководстве в качестве №6:

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

Надеюсь, это поможет кому-то ...







mercurial