Mercurial: отменить изменения действия фиксации

Предположим, я внес изменения в файл, hg status показать его как измененный.

Теперь я хочу совершить. Прежде чем я успел это сделать, я случайно hg remove скопировал свой файл. Mercurial теперь удалит мой файл при следующем коммите, hg revert сохранит его от удаления, однако мои изменения будут потеряны.

Является ли экспорт патча, а затем его импорт поверх MQ единственным вариантом вернуть мой файл в «модифицированное» состояние?


person Johannes Rudolph    schedule 25.09.2009    source источник
comment
Мне интересно, как вам удалось случайно удалить этот файл. Когда я пытаюсь hg remove изменить файл, я получаю следующее сообщение об ошибке: не удаляя Textdokument.txt: файл изменен (используйте -f для принудительного удаления) TortoiseHg (под Windows) также откажется удалить его.   -  person Tim Pietzcker    schedule 25.09.2009
comment
пожалуйста, не спрашивайте меня :-) это произошло с переименованием   -  person Johannes Rudolph    schedule 25.09.2009
comment
@tim — hg remove -Af filename или hg forget filename (в 1.3+)   -  person Steve Losh    schedule 25.09.2009
comment
Да, я знаю об опции -f, но это не считается случайностью, не так ли? :)   -  person Tim Pietzcker    schedule 25.09.2009


Ответы (1)


Я не уверен в этом, но попробуйте добавить его обратно с помощью hg add.

А можно просто экспортировать и применить патч без MQ.

person artemb    schedule 25.09.2009
comment
я знаю, однако MQ позволяет мне манипулировать моей фиксацией до фактического выполнения реальной фиксации, импорт патча всегда приводит к фиксации. - person Johannes Rudolph; 25.09.2009
comment
Это правильный ответ. Использование hg add для файла, который планируется удалить из отслеживания, отменит удаление и оставит содержимое нетронутым. - person Steve Losh; 25.09.2009
comment
Примечание к вашему комментарию, Йоханнес Рудольф: импорт патча всегда приводит к коммиту. Вы можете избежать этого, выполнив hg import --no-commit - person Ry4an Brase; 25.09.2009
comment
я все больше и больше понимаю, что я непостоянный нуб :-) казалось таким простым в начале, и, подумав об этом, это действительно просто! Меркуриал фтв :-) - person Johannes Rudolph; 25.09.2009