我有一个包含许多组件的大型系统,我想在几个不同的mercurial存储库中进行分配(因此,在系统的某些部分工作的人员不必检查整个系统)。它需要在UNIX和Windows上运行。
在系统中,我有一个目录需要在很多地方共享(包含常见的东西,如CSS文件和图像)。
我已经设置好了,所以每个组件都有一个子仓库到共享仓库,并且该仓库也在更高级别检出。我这样做是因为我希望程序员能够从主存储库中执行'hg pull',而不是'hg push'(任何更改都会被'hg serve'从他们的工作中拉出并在进行之前先检查回到主存储库)。
所以在顶层,程序员可以查看:
核心 样式 ComponentSetA ComponentSetB 等
这些都指向http://machine/hg/RepoName(通过克隆)。
我有以下情况:
ComponentSetA / web / style(web / .hgsub中的style = ../../ Style) ComponentSetB /网络/风格 等
我的问题是,在'hg clone'上,我似乎无法让subrepos自动创建。我希望他们透明。如果任何程序员没有进行更改,他们不应该注意到他们在那里......
如果我必须首先检查Style repo,然后执行其中一个组件,这是可以的,但我希望额外级别的间接到顶级repo以允许程序员推送他们的低级更改进入一个共同的回购。
有什么建议吗?
答案 0 :(得分:2)
如果我错了,请纠正我,但听起来你在.hgsub
子目录中有一个web
文件,而不是在回购的根目录中。如果您希望web/style
成为subrepo,可以将其添加到根.hgsub
,如下所示:
web/style = ../../Style