Это плохая идея обновлять hg, когда ваша рабочая копия имеет изменения? - PullRequest
7 голосов
/ 16 апреля 2010

Похоже, было бы лучше, если бы вы сделали коммит с последующим слиянием. Я немного удивлен, что обновление возможно даже тогда, когда ваша рабочая копия имеет изменения. Разрешает ли обновления в таких случаях избегать коммитов с двумя родителями в результате слияния?

Ответы [ 2 ]

3 голосов
/ 16 апреля 2010

Я считаю, hg update попытается объединить ваши незафиксированные изменения:

Следующие правила применяются, когда рабочий каталог содержит незафиксированные изменения:

  1. Если не указано ни -c/--check, ни -C/--clean, а:
    если запрошенный набор изменений является предком или потомком родителя рабочего каталога, незафиксированные изменения объединяются в запрошенный набор изменений, и объединенный результат остается незафиксированным.
    Если запрошенный набор изменений не является предком или потомком (т. Е. Он находится в другой ветви), обновление отменяется, а незафиксированные изменения сохраняются.
  2. С параметром -c/--check обновление отменяется, а незафиксированные изменения сохраняются.
  3. С параметром -C/--clean незафиксированные изменения отбрасываются, а рабочий каталог обновляется до запрошенного набора изменений.

Это позволит избежать ненужной фиксации (зарегистрированной в репозитории .hg) для операции (hg update), которая предназначена только для обновления вашего рабочего каталога .

2 голосов
/ 16 апреля 2010

Mercurial рекомендует записывать всю историю проекта. Если вы проделали некоторую работу в своем рабочем каталоге, почему бы не зафиксировать эти изменения, предоставив содержательное описание ваших результатов в виде сообщения фиксации, а затем объединить ваши результаты с основной веткой? Для других людей будет более ясно видеть в двух отдельных наборах изменений, что вы сделали как обычная работа и что вы сделали только для разрешения конфликтов слияния .

Обычно дополнительный набор изменений слияния - это нормально, но иногда вы просто хотите отменить текущие изменения поверх основной ветви перед их фиксацией. Вы можете взглянуть на расширение rebase . Новая команда hg rebase позволяет отменить уже внесенные изменения.

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