2012-06-19 11 views
8

Mam repozytorium główne, które ma pewne zmiany, których nie chcę zatwierdzać.Jak mogę tylko zatwierdzić zmiany w podrepo?

Mam subrepo, który ma zmiany , które zostały już zatwierdzone.

Chcę zatwierdzić zmiany subrepo rewizji w moim master repo, bez dokonywania zmian w plikach w master repo.

Nie mogę tego zrobić. Nie mogę zatwierdzić .hgsubstate i dokonać drobnej zmiany w pliku do zatwierdzenia, który nie powoduje zmiany subrepo w repozytorium głównym.

+0

Jeśli twoje zmodyfikowane pliki mają nazwy 'foo' i' bar', czy próbowałeś 'hg ci -S -X foo -X bar'? – Helgi

Odpowiedz

9

Podaj nazwę samego subrepo do zatwierdzenia, a Mercurial zaktualizuje .hgsubstate i zatwierdzi go.

[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 

Zauważ, że plik w głównym dont-commit-me nigdy nie popełnił, ale .hgsubstate został zaktualizowany.

+0

To załatwiło sprawę. Nie mogę uwierzyć, że nie pomyślałem, żeby tego spróbować! –

+0

To jest trochę mylące, ponieważ 'dont-commit-me' i tak by nie zostało popełnione. Gdyby została dodana, argument "commit" miałby znaczenie. (Oddajemy się jednak Ry4anowi, ponieważ wiem, że jest on mistrzem Mercurial.) – harpo

+0

Masz rację, @harpo. Powinienem go dodać, żeby był lepszym przykładem. –

Powiązane problemy