При попытке засихронизироватся с удаленным репозиторием (вызов hg incoming, hg pull и тд. в Tortoise Hg) вылетает ошибка HTTP Error 404: Not Found в случае если сервер и клиент находятся на одной машине или <urlopen error (11001, 'getaddrinfo failed')>, если сервер находится на другой машине. Репозиторий публикуется через Apache. Причем, если заходить через броузер по урлу (
http://mercurial), то список репозиториев отображается нормально, с историей и тд. Пробовал туже конфигурацию поднимать на других машинах — там все ок. Пробовал отключать файервол и тд. Результат тот же. Вобщем, какая то зараза блокирует выполнение синхронизации (Знать бы кто
). У кого какие мысли, может кто с подобным сталкивался?
Содержимое конфигурационных файлов:
hgwebdir.cgi
#!C:\Python25\python.exe
import sys
sys.path.insert(0, "C:/Program Files/TortoiseHg/lib")
# enable importing on demand to reduce startup time
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb.hgwebdir_mod import hgwebdir
import mercurial.hgweb.wsgicgi as wsgicgi
application = hgwebdir('C:/http/MercurialRepo/hgweb.config')
wsgicgi.launch(application)
hgweb.config
[paths]
front = C:/http/MercurialRepo/front
Настройка виртуального хоста в апаче
DocumentRoot "C:/http"
NameVirtualHost XXX.XXX.X.XXX
<VirtualHost XXX.XXX.X.XXX>
ServerName mercurial
DocumentRoot C:\http\MercurialRepo
RewriteEngine on
RewriteRule (.*) C:/http/MercurialRepo/hgwebdir.cgi/$1
<Directory "C:\http\MercurialRepo">
Options ExecCGI
DirectoryIndex hgwebdir.cgi
AddHandler cgi-script .cgi
Order allow,deny
Allow from all
</Directory>
</VirtualHost>