How can I update multiple mercurial (hg) repositories from their shared parent's directory?
/plugins/search
/plugins/overview
/plugins/chart
I want to change a branch to default one and update them all at once
cd /plugins/search
hg update -C default
hg pull -u
Run the following from the parent directory, plugins
in this case:
find . -type d -maxdepth 1 -exec hg update -C default -R {} \;
find . -type d -maxdepth 1 -exec hg pull -u -R {} \;
To clarify:
find .
searches the current directory-type d
to find directories, not files-maxdepth 1
for a maximum depth of one sub-directory-exec {} \;
runs a custom command for every findhg update -C default -R {}
hg changes branch to default in each repositoryhg pull -u -R {}
hg updates to new branch head if changesets were pulled in each repository