Как перенести последние удаленные изменения в удаленное хранилище (при использовании mqueues)

Книга hg рекомендует следующий рабочий процесс для обновления патчей mqueue после обновления удаленного репозитория. Ссылка:

hg qpush --all

# QSave is now depricated (according to hg qsave --help).  It appears to have been
# depricated since at least 2010.  Additionally, QSave is not working in my environment 
# due to my organization's commit hooks
hg qsave

hg pull

hg update --clean

hg qpush -m -a  

qsave команда говорит:

> This command is deprecated, use "hg rebase" instead.

Каков новый рекомендуемый рабочий процесс? Что я хочу сделать:

  1. Проверьте код
  2. Сделайте некоторые коммиты к нему (возможно, но не обязательно, используя mqueues)
  3. Вытащить последние изменения из удаленного репо
  4. Интегрируйте изменения в мой репо. Я открыт для процесса перебазирования или слияния, однако я хочу использовать какой-то трехсторонний инструмент слияния для разрешения конфликтов

Редактировать: рабочий процесс, который я сейчас использую:

hg qpop --all
hg pullup
hg qpush # repeat until no patches left.

Проблема с этим рабочим процессом заключается в том, что он генерирует .reject файлы.

Я знаю, что я также могу сделать:

hg qpush --all
hg pull --rebase

Проблема в том, что я не знаю, как отменить или отменить его, так как это на самом деле изменяет мои патчи. Я думаю, что это создает какую-то резервную копию, как описано в этом сообщении: saved backup bundle to /someDirectory/.hg/strip-backup/424323abc42a-backup.hg,


Редактировать:

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


Редактировать:

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

# Convert patches to real commits: 
hg qfinish # some args

# Pull remote changes

# Merge remote changes

Я думаю, что теоретически после этого я мог бы перебазировать свои слияния, как в сенарио 7.

0 ответов

Другие вопросы по тегам