我有一个应用程序“myapp”,它使用与其他应用程序“common”和“common-www”通用的两个模块。
这些在主存储库中排列为薄壳
myapp-master
myapp
common
common-www
每个子存储库都设置为具有“生产”和“主干”存储库的稳定/默认配置。
稳定(“生产”)上的瘦壳主控的 .hgsub 文件是:
myapp = https://myhostingprovider/repos/myapp/grp/production
common = https://myhostingprovider/repos/common/grp/production
common-www = https://myhostingprovider/repos/common-www/grp/production
主存储库本身位于:
https://myhostingprovider/repos/myapp/master/production
这很棒——我有一个主存储库,在应用程序和子模块中具有一致的版本控制。
问题在于能够维护主存储库的稳定/默认视图,因为 .hgsub 文件需要指向不同的存储库:
myapp = https://myhostingprovider/repos/myapp/grp/trunk
common = https://myhostingprovider/repos/common/grp/trunk
common-www = https://myhostingprovider/repos/common-www/grp/trunk
由于我必须在 .hgsub 文件中放置绝对路径,因此我最终得到了两个完全独立的瘦壳主存储库——一个用于开发,一个用于生产——并且无法在发布周期内将更改从开发推送到生产。
这种用于远程托管的主存储库方法是共享库的典型方法吗?您能否推荐另一种工作方式(关于 hgsub 路径是绝对路径的远程托管)?
任何想法非常感谢?