Как получить случайно удаленный патч в Mercurial с помощью MQ - PullRequest
4 голосов
/ 25 марта 2011

У меня было два патча в серии, ни один из которых не был применен, и я случайно вызвал qdelete для неправильного Есть ли способ отменить эту операцию и вернуть мой патч? У меня было огромное количество работы в этом!

Ответы [ 2 ]

4 голосов
/ 25 марта 2011

Способ избежать этого (и я знаю, что сейчас это бесполезно, извините) состоит не только в использовании Mercurial Queues, mq, но и в использовании его с хранилищем исправлений.Mercurial / mq имеет отличную поддержку для этого.

При первоначальном создании очереди вы делаете:

hg qinit --create-repo

(вместо просто hg qinit), что создает новый репозиторий Mercurial в вашем *Каталог 1007 *.Затем вы можете использовать:

hg commit --mq

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

hg revert --mq

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

3 голосов
/ 25 марта 2011

К сожалению, если вы не использовали опцию -k при вызове команды qdelete, файл патча также был удален. Таким образом, ваша единственная надежда - либо резервное копирование, либо инструмент, который может выполнить некоторую «восстановленную» операцию.

...