2012-06-19 22 views
8

Tôi có một repo chính, trong đó có một số thay đổi tôi không muốn cam kết.Làm cách nào để chỉ cam kết thay đổi của một subrepo?

Tôi có một subrepo, có thay đổi đã được cam kết.

Tôi muốn cam kết thay đổi sửa đổi subrepo trong repo chính của tôi, mà không cam kết các thay đổi đối với các tệp trong repo chính.

Tôi dường như không thể làm điều này. Tôi không thể cam kết .hgsubstate và thực hiện thay đổi nhỏ đối với tệp để cam kết không cam kết thay đổi subrepo đối với repo chính.

+0

Nếu các tệp đã sửa đổi của bạn có tên 'foo' và' bar', bạn đã thử thực hiện 'hg ci -S -X foo -X bar' chưa? – Helgi

Trả lời

9

Chuyển tên của chính con đường phụ để cam kết và Mercurial sẽ cập nhật .hgsubstate và cam kết.

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

Lưu ý rằng tệp trong chính dont-commit-me chưa bao giờ được cam kết, nhưng .hgsubstate đã được cập nhật.

+0

Điều đó đã xảy ra. Tôi không thể tin rằng tôi đã không nghĩ rằng để thử điều đó! –

+0

Đây là một chút sai lầm, vì 'dont-commit-me' sẽ không được cam kết. Nếu nó đã được thêm vào, thì đối số cho 'commit' sẽ tạo ra sự khác biệt. (Tôi thích Ry4an, mặc dù, như tôi biết ông là một chủ Mercurial.) – harpo

+0

Bạn đang phải, @harpo. Tôi nên thêm nó cho nó để trở thành một ví dụ tốt hơn. –

Các vấn đề liên quan