Вы захотите использовать команду mercurial hg archive
с крючка. Он делает снимок указанной вами ревизии (через тег и т. Д.), А затем экспортирует ее.
В hgrc вашего "производственного" хранилища вы можете получить что-то вроде этого:
[hooks]
changegroup = ./doDeploy.sh
и тогда ./doDeploy.sh
будет иметь в нем:
hg archive -r tip /tmp/deployme
ftp /tmp/deployme ftp://remoteserver
В конечном итоге вам придется обходить все возможные мелкие проблемы, такие как права доступа к файлам, файлы, которые были удалены из репозитория, но все еще существуют на сервере, и т. Д., Но в целом это обеспечивает хорошую основу для системы, которая после внесения изменений менеджером выпусков автоматически загружает снимок в работающую систему.