принятие незафиксированных изменений в неправильную ветку в нужную ветку - PullRequest
13 голосов
/ 04 ноября 2011

Я использую Mercurial.

У меня есть некоторые незафиксированные изменения, но я нахожусь не на той ветке, как мне перейти на нужную ветку и взять изменения со мной?

Ответы [ 3 ]

29 голосов
/ 06 ноября 2011

Для внесенных изменений вы можете использовать расширение Полка :

  1. hg shelve --all
  2. hg up correct_branch_name
  3. hg unshelve
11 голосов
/ 04 ноября 2011

я спросил по irc

MPM сказал

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

что я рассмотрел, но это то, чего я пытался избежать.

d70 сказал

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

так я и сделал.

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

Я спросил о «почему» и мне сказали «вам не разрешено обновлять через ветви», что поначалу не имело смысла для меня. Затем я понял, что, поскольку я прошел через общий root rev, он не распространяется на другие ветви.

0 голосов
/ 04 ноября 2011

Я обычно использую

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

Но я также использую подход Джрурена к регулярному прохождению предка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...