Перемещение моего Mercurial Repository через HTTP с Apache и Windows - PullRequest
0 голосов
/ 07 июня 2011

Так что я справился.Я могу удаленно клонировать Mercurial-репозитории, используя HTTP, на мой компьютер с Windows Server 2003 и ipaddress с этого компьютера.Хотя я деактивировал IIS6 и сейчас использую Apache 2.2.x.Но не все работает прямо сейчас ... черт!Вот в чем дело:

Клонирование проходит гладко!Но когда я хочу отправить свои изменения в исходный репозиторий, я получаю сообщение «не удается заблокировать статический http-репозиторий».В интернете я могу прочитать несколько объяснений, что Mercurial не был предназначен для разрыва HTTP-соединений.Тем не менее, на веб-сайте Mercurial есть кое-что о настройке hgrc файла .

. Также есть возможность настроить Apache для размещения через HTTPS (или SSL).Для этого вам нужно загрузить модуль, включающий OpenSSL и генерирующий ключи.

Конфигурирование файла hgrc Просто добавьте «push_ssl = false» в строке [web].Но куда поместить этот файл при отправке ваших изменений обратно ?!Поскольку я поместил его в корень сервера, в каталог «.hg», ничего не работает.

Использование SSL / HTTPS с Apache Когда я пытаюсь получить доступ к https://myipaddress'отказывает, отображая голландское сообщение, которое будет означать что-то вроде «сервер слишком долго, чтобы ответить».Попытка нажать также дает мне голландское сообщение об ошибке, которое означает примерно то же самое.Он не может подключиться к моему серверу через https, хотя я выполнил шаги точно в этом блоге .

Мне все равно, какое из приведенных выше решений будет работать для меня.Оказывается, никто из них не работает до сих пор.Так, пожалуйста, кто-нибудь может мне помочь с одним из решений выше?Выберите самый простой!Помощь будет высоко ценится не только от меня.

Резюме -Windows Server 2003 -Apache 2.2 с OpenSSL -Mercurial 1.8.2 -Можно клонировать, но не нажимать!

Спасибо!

Мартен Баар (ы)

1 Ответ

1 голос
/ 08 июня 2011

Похоже, вы неправильно настроили apache, чтобы заставить его делать то, что вы хотите.Исходя из вашего вопроса, звучит так, как будто у вас есть путь (возможно, корень сервера), указывающий на репозиторий, который вы хотите обслуживать.

Mercurial поставляется со скриптом для этой конкретной цели, в последней версии этоhgweb.cgi.На сайте mercurial есть достаточно хорошие инструкции по настройке .Это должно позволять и клонирование и продвижение.Вам понадобится push_ssl=false, если вы не будете настраивать https, а также строка allow_push, которая позволит определенным пользователям или всем (*) перейти в хранилище.Но все это должно быть частью документации по установке.

...