Отказ
Эти выводы относятся к клиенту tortoisehg и серверу Mercurial за Apache на win32.
Попробуйте # 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')
Задача
Что вы обнаружите, так это то, что после нажатия клиент hg черепахи не вернется, пока не вернется ваш системный вызов os.system. Это может или не быть приемлемым. В моем магазине сборка заняла около 20 минут, и мой начальник счел это неприемлемым.
Попробуйте # 2
Мое решение состояло в том, чтобы ловушка возвращалась сразу после создания файла REQUESTBUILD в корневой каталог.
В .hg\hgrc
[hooks]
incoming = .hg\write_buildrequest_file.bat
В .hg\write_buildrequest_file.bat
echo REQUESTBUILD > \REQUESTBUILD
Тем временем у меня был скрипт python, работающий в бесконечном цикле, проверяющий наличие 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-файл результатов, который отправитель должен будет получить через свой веб-браузер.
Существуют и другие проблемы (возникающие во время начала сборки, сохранения исторических результатов, создания из рабочего каталога и копирования в другое место), но это общая идея.