Mercurial no-op merge для сохранения истории и закрытия ветки - PullRequest
2 голосов
/ 18 декабря 2009

альтернативный текст http://img38.imageshack.us/img38/1863/screenshot20091218at112.png

Редакция 107 случайно слила все изменения из 100-106

Revision 108 был hg revert --all -r 106, за которым следовал hg commit, что, вероятно, было неправильно, поскольку вместо объединения ветви, в которой я сделал все изменения, я охватил все изменения в одну ревизию без описания или истории.

A) Как я должен был начать слияние ветки?

Но что более важно:

Б) Как мне теперь объединить ветку?

Ответы [ 2 ]

2 голосов
/ 18 декабря 2009

Если вы еще нигде не ставили репо с вашего бокса, у вас есть простое решение:

   cd ..
   hg clone -r 106 current newcurrent
   cd newcurrent
   hg pull -r 97 ../current

сейчас newcurrent - это репо, которое выглядит точно так же, как ваш старый до 107 и 108 годов.

Чтобы объединить эти два, просто сделайте:

   hg update  # which gets you to tip
   hg merge   # which merges in the other head and forces you to make choices

Непонятно, что вы сделали неправильно при создании 107, поэтому я не знаю, как предложить изменение на практике, но это должно быть простым вопросом слияния. Случайное устранение всех изменений в одной ветке должно было быть трудным .

1 голос
/ 18 декабря 2009

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

Эта команда отменит последнюю транзакцию:

hg rollback -h

Эта команда может помочь вам отменить слияние и вернуться:

hg backout -h

Эта команда вернет ваш рабочий каталог в предыдущее состояние, не затрагивая хранилище:

hg revert -h

Опция -h в каждом случае дает вам помощь для команды. Удалите опцию -h, когда будете готовы применить команду.

Мой первый эксперимент будет:

hg rollback
hg merge -r 106

План состоит в том, чтобы вернуться к ревизии 107, которая выглядит как успешное слияние главы, содержащей наборы изменений 95 и 96, а затем объединить в головке, содержащей наборы изменений 97, 100 - 106.

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