2011-11-03 15 views

Odpowiedz

26

Dla uncommited zmian można użyć Shelve extension:

  1. hg shelve --all
  2. hg up correct_branch_name
  3. hg unshelve
+1

Moja wersja hg (3.7.3) nie używa flagi '--all'. Po prostu nazywanie 'hg shelve' odkłada wszystko. – ForeverWintr

9

Poprosiłem na IRC

MPM powiedział

hg diff > mychanges; hg up -C somewhere; hg import --no-commit mychanges 

które uznała jednak jest to, co starałem się unikać.

D70 powiedział

i think you can easily do it by "hg update"ing to a changeset that is a 
parent of the branch you're trying to switch to, and then "hg update"ing to the 
tip of that branch 

więc to zrobiłem.

hg up -r <shared root rev> 
hg up branchIwant 

poprosiłem o „dlaczego” i powiedziano mi „nie są dopuszczone do aktualizacji całej gałęzi”, które nie ma sensu do mnie na początku. Wtedy zdałem sobie sprawę, że ponieważ przeszedłem przez wspólny Root rev, to nie jest w oddziałach.

+0

Cool! Dziękuję bardzo! To najprostszy sposób, aby zatwierdzić moje zmiany w innej już istniejącej gałęzi :) –

0

Zwykle używam

hg qnew 
hg qpop 
hg up -c <target-rev> 
hg qpush 
hg qfinish qtip 

Ale również użyć podejścia jrwren męska przechodzenia przez przodka dość regularnie.

Powiązane problemy