I have an application "myapp" that uses two modules common with other applications "common" and "common-www".
These are arranged as a thin-shell within a master repository
myapp-master
myapp
common
common-www
Each subrepo is setup as a stable/default configuration with "production" and "trunk" repositories.
The .hgsub file for the thin-shell master on stable ("production") is:
myapp = https://myhostingprovider/repos/myapp/grp/production
common = https://myhostingprovider/repos/common/grp/production
common-www = https://myhostingprovider/repos/common-www/grp/production
The master repository itself is at:
https://myhostingprovider/repos/myapp/master/production
This is great - I have a single master repository with consistent versioning across the application and sub-modules.
The problem is being able to maintain a stable/default view of the master repository as the .hgsub file needs to point to different repositories:
myapp = https://myhostingprovider/repos/myapp/grp/trunk
common = https://myhostingprovider/repos/common/grp/trunk
common-www = https://myhostingprovider/repos/common-www/grp/trunk
Since I have to put absolute paths in the .hgsub file, I end up with two entirely independent thin-shell master repositories - one for development and one for production - and no ability to push changes from development to production during a release cycle.
Is this master repository approach for remote hosting typical for shared libraries? Can you recommend an alternative way of working (with regard to remote hosting where hgsub paths are absolute)?
Any thoughts much appreciated?