2014-01-11 2 views
2

Возможно, я предвзятый от лет svn, но почему бы мне захотеть слиться с другой веткой, а затем внести некоторые изменения перед совершением. hg сам выход говорит об обратном:Использование меркуриальных Почему я хотел бы слиться без совершения?

(branch merge, don't forget to commit) 

Уважаемый hg, то почему бы вам не сделать это для меня?

+2

Я не эксперт по ртути, но, вероятно, он предполагает, что для слияния может потребоваться некоторая ручная настройка, и он не хочет создавать фиксацию с автогенерированным неправильным слиянием. – aland

ответ

5

Поскольку операция объединения не гарантируются, чтобы произвести правильный вывод (автоматические слияния могут использовать неправильную эвристику для того, как бороться с конфликтами, ручные слияния могут пострадать от человеческой ошибки). Обычно, вы будете делать следующее:

  1. Объединить.
  2. Строительство.
  3. Тест.
  4. Если тест не удался, исправьте проблему, вернитесь на 2.
  5. Commit.
1

Mercurial делает не говорит об обратном, это просто напоминание: „Все изменения, связанные с слияния хранятся только на рабочей Dir, совершают результаты в хранилище для постоянного хранения“ и не запрещает вам сделать некоторые дополнительные изменения в кода перед фиксацией.

Но разделение задач (слияния и не связанное с слиянием изменений - то есть изменения не инициировано слияние конфликты) в отдельные ревизии хорошая идея так или иначе

Смежные вопросы