Отказ
Эти данные для TortoiseHG клиента и сервера ртутный позади апача на win32.
Try # 1
Наивное решение было бы сделать свой толчок удар от сборки.
В .hg\hgrc
[hooks]
incoming=.hg\build.py
В build.py
os.system('\Progra~2\Micros~2.0\Common7\IDE\devenv /build release project.sln > logfile')
Проблема
То, что вы найдете то, что после толчка, клиент черепахой не будет рт.ст. пока не вернется вызов os.system. Это может быть или не быть приемлемым. В моем магазине сборка заняла около 20 минут, и мой босс счел это неприемлемым.
Try # 2
Мое решение было для крючка, чтобы вернуться сразу после создания REQUESTBUILD файл в корневой каталог.
В .hg\hgrc
[hooks]
incoming = .hg\write_buildrequest_file.bat
В .hg\write_buildrequest_file.bat
echo REQUESTBUILD > \REQUESTBUILD
В то же время, у меня был питон скрипт работает в бесконечном цикле, проверка на наличие REQUESTBUILD.
В .hg\monitor_buildrequest_file.py
import popen2, time, os
import subprocess
while True:
if os.path.exists("\REQUESTBUILD"):
os.system("del \REQUESTBUILD")
os.chdir("/yourrepo/.hg")
retcode = subprocess.call("\python27\python.exe build.py")
else:
time.sleep(10)
build.py
будет генерировать HTML-файл результатов, которые заявитель должен был бы тянуть через свой веб-браузер.
Есть и другие проблемы (толкает, когда сборка начинается, сохраняя исторические результаты, строя из рабочего каталога и копируя в другом месте), но это общая идея.
Из вашей ссылки: «и команда запускает крюк, который запускается в вашей системе». Это проблема, потому что я хочу, чтобы сборка была сделана на сервере сборки, а не на машине человека, который нажал изменения. – CiscoIPPhone