确定远程服务器上的子存储库中的更改,而无需在主存储库中提交

时间:2012-10-03 08:17:24

标签: mercurial subrepos mercurial-subrepos

我想在mercurial存储库中使用层次结构。

结构

_Main  
Main/sub1  
Main/sub2_  

.hgsub

sub1=sub1  
sub2=sub2  
[subpaths]  
somepath/Main/sub1=somepath/sub1  
somepath/Main/sub1=somepath/sub2

然后我的同事只修改 sub1 存储库,他们将没有 存储库。
如何确定sub1中的变化,而不是我的同事所做的更改 hg pull 如果未在 存储库中提交,则不会看到这些更改。

或者可能是不正确的结构,我必须向同事 存储库提供 sub1 的数据?

1 个答案:

答案 0 :(得分:0)

您需要专门拉取并更新每个子存储库以获取其更改。例如:

> hg pull -u -R sub1
> hg pull -u -R sub2

然后,这将更改您的.hgsubstate文件,以指示Main应使用每个子存储库的最新版本。执行拉动后,您需要提交此更改。

如果您自己对子存储库进行了任何更改,则需要在提交Main存储库之前合并(或重新绑定)并提交这些更改。