我如何只提交subrepo的更改?

时间:2012-06-19 02:16:16

标签: mercurial subrepos

我有一个主仓库,它有一些我不想提交的更改。

我有一个subrepo,其中包含已经提交的

我想在我的主仓库中提交更改子订单修订版,而不将更改提交到主仓库中的文件。

我似乎无法做到这一点。我无法提交.hgsubstate,并对要提交的文件进行微不足道的更改,而不会将子版本更改提交到主仓库。

1 个答案:

答案 0 :(得分:11)

将subrepo本身的名称传递给commit,Mercurial将更新.hgsubstate并提交它。

ry4an@four:~$ hg init main
ry4an@four:~$ cd main
ry4an@four:~/main$ hg init sub
ry4an@four:~/main$ echo sub = sub > .hgsub
ry4an@four:~/main$ hg add .hgsub
ry4an@four:~/main$ hg commit
ry4an@four:~/main$ cd sub
ry4an@four:~/main/sub$ echo text > afile
ry4an@four:~/main/sub$ hg commit -Am first-in-sub
adding afile
ry4an@four:~/main/sub$ cd ..
ry4an@four:~/main$ hg status
ry4an@four:~/main$ echo text > dont-commit-me
ry4an@four:~/main$ hg add dont-commit-me
ry4an@four:~/main$ hg status
A dont-commit-me
ry4an@four:~/main$ cat .hgsubstate
0000000000000000000000000000000000000000 sub
ry4an@four:~/main$ hg commit -m 'subrepo only' sub
ry4an@four:~/main$ hg status
A dont-commit-me
ry4an@four:~/main$ cat .hgsubstate
dec5eaa9e22cd0a05cbba3ba02fdb0e1f243e07e sub

请注意,主dont-commit-me中的文件从未提交,但.hgsubstate已更新。