Auto-Update Mercurial production repository
Create a branch 'production' which contains all changes that should went onto the production server:
hg branch production && hg commit -m "Added new branch 'production'"
Clone repo to remote:
hg clone . ssh://user@host//path/to/repository
On the server, switch to production branch:
hg update production
Now add the following hook into the .hg/hgrc:
[hooks] # If current branch is out of date, update and refresh changegroup = (LANG=C hg summary | grep -q 'update: (current)' || (hg update && mvn clean compile install && systemctl )) >&2
This example uses Maven to rebuild the src into the target directory if any update in the production branch appears.