2009-09-21 12 views

Odpowiedz

20

hg branch X ma nic nie ma z wyjątkiem powiedzieć Mercurial "następny commit, który robię powinien być na oddziale X." W rzeczywistości nie "tworzy" gałęzi. Oddział nie istnieje, dopóki istnieje co najmniej jeden popełnienia na nim:

sjl at ecgtheow in ~/Desktop/test on default at tip 
$ hg branch a 
marked working directory as branch a 

sjl at ecgtheow in ~/Desktop/test on a at tip 
$ hg branch b 
marked working directory as branch b 

sjl at ecgtheow in ~/Desktop/test on b at tip 
$ hg branches 
default      0:aae011bc1b00 

sjl at ecgtheow in ~/Desktop/test on b at tip 
$ echo foo >> x 

sjl at ecgtheow in ~/Desktop/test on b at tip! 
$ hg com -m1 

sjl at ecgtheow in ~/Desktop/test on b at tip 
$ hg branches 
b        1:b66106035d8d 
default      0:aae011bc1b00 (inactive) 

sjl at ecgtheow in ~/Desktop/test on b at tip 
$ 

Tak więc odpowiedź na to pytanie brzmi: „używać hg branch branch-A oznaczyć kolejny popełnić jako na oddział-a”

+3

Świetne informacje, ale może warto dodać sposób, by zrobić to, co OP próbuje zrobić: hg branch branchA; zobowiązać się do oddziału A; aktualizacja domyślna hg; hg branch branchB, commit do branchB. Kluczem jest "domyślna aktualizacja hg", więc branchB jest oparty na tym samym zatwierdzeniu co branchA. –

+0

Dobre informacje, złe wyjaśnienie. sjl w ecgtheow .. Eh ..? także hg com, spraw, aby ten hg został zatwierdzony dla Googlersów. Ludzie nie powinni odcyfrowywać odpowiedzi. Przepraszamy, ale -1. – Stolas

+0

Witaj, Steve, dlaczego nie dodasz tej informacji do swojego przewodnika w bardziej wyraźny sposób niż teraz? Może poprawić przewodnik. ("gałąź hg nie robi niczego poza informacją Mercurial" następne zatwierdzenie, które wprowadzam, powinno znajdować się w gałęzi X. "To faktycznie nie" tworzy "gałęzi. Oddział nie istnieje, dopóki nie ma co najmniej jednego zatwierdzenia na nim") –

-5

Użyj "hg update -C branch-name".

+0

Nie. Jeśli polecenia oddziału występują jedna po drugiej, pierwsza gałąź nie istnieje, ponieważ nie ma na niej żadnych zatwierdzeń. Również ślepo używanie C z aktualizacją nie jest dobrym pomysłem. O wiele bezpieczniej jest używać -c normalnie i używać tylko -C, kiedy naprawdę tego potrzebujesz. –

0

Jak Carl Meyer mówi, że pójdę do:

hg branch branch-A 
commit branch-A 
hg update default 
hg branch branch-B 
commit branch-B 

ironię, myślę Steve Losh zapewnia lepszą odpowiedź na jego przewodnika to tutaj (choć „Oddział nie istnieje, dopóki istnieje co najmniej jeden commit to "to bardzo dobra wskazówka, którą dodałem w przewodniku).

Jeśli czytasz section on named branches, podaje on zwięzłe wyjaśnienie, jak działają i jak się między nimi przełączać.

Powiązane problemy