Как преобразовать исправление ртутной очереди в незафиксированные изменения в моей рабочей копии?

У меня есть примененный патч в моей очереди Mercurial, как мне преобразовать этот патч в незафиксированные изменения в моей рабочей копии (как если бы я никогда не создавал патч с помощью qnew)?


person crobar    schedule 25.07.2014    source источник


Ответы (2)


Скажите Mercurial обновить патч, но исключить все файлы. Это оставит все изменения в патче незафиксированными в вашей рабочей папке. У вас остается пустой примененный патч, который можно вытащить и удалить.

hg qref -X *
hg qpop -f
hg qdel <patch>
person Mark Tolonen    schedule 26.07.2014

Ну, в отсутствие других ответов, вот что я в итоге сделал:

Сначала извлеките патч из стека патчей, чтобы он больше не применялся.

hg qpop thepatchname --keep-changes

Я не уверен, что --keep-changes был необходим, но у меня были локальные незафиксированные изменения, которые я хотел сохранить.

Затем мне пришлось отложить некоторые незафиксированные изменения в моей рабочей копии, чтобы я мог применить патч.

hg shelve

Теперь примените патч, сохраненный в .hg/patches, с помощью команды import с параметром --no-commit, чтобы патч не был зафиксирован в вашем репозитории.

hg import .hg/patches/thepatchname --no-commit

Теперь вы можете удалить патч, если хотите.

person crobar    schedule 25.07.2014