У меня есть примененный патч в моей очереди Mercurial, как мне преобразовать этот патч в незафиксированные изменения в моей рабочей копии (как если бы я никогда не создавал патч с помощью qnew)?
Как преобразовать исправление ртутной очереди в незафиксированные изменения в моей рабочей копии?
Ответы (2)
Скажите Mercurial обновить патч, но исключить все файлы. Это оставит все изменения в патче незафиксированными в вашей рабочей папке. У вас остается пустой примененный патч, который можно вытащить и удалить.
hg qref -X *
hg qpop -f
hg qdel <patch>
Ну, в отсутствие других ответов, вот что я в итоге сделал:
Сначала извлеките патч из стека патчей, чтобы он больше не применялся.
hg qpop thepatchname --keep-changes
Я не уверен, что --keep-changes
был необходим, но у меня были локальные незафиксированные изменения, которые я хотел сохранить.
Затем мне пришлось отложить некоторые незафиксированные изменения в моей рабочей копии, чтобы я мог применить патч.
hg shelve
Теперь примените патч, сохраненный в .hg/patches, с помощью команды import
с параметром --no-commit, чтобы патч не был зафиксирован в вашем репозитории.
hg import .hg/patches/thepatchname --no-commit
Теперь вы можете удалить патч, если хотите.