У меня есть только два опыта работы с SVN и Mercurial. Для Mercurial вы указываете, с какой ветки вы хотите обновить (скажем, по умолчанию), а затем, когда вы объединяете ветку с дефолтом, вы можете просто запустить сервер:
hg update
Который обновляет ваш репозиторий до последней версии ветки, на которую вы его установили.
SVN - та же концепция, вы только проверяете, какую ветку вы хотите изначально
svn co http://host/repository/branchname/
тогда ваш сервер обновляет это с помощью задания cron, ala
svn up
Теоретически, любая VCS, которая поддерживает ветвление (все хорошие делают: git, mercurial, SVN и т. Д.), Должна быть в состоянии сделать что-то похожее на это.