Я перемещаю процесс сборки для использования Mercurial и хочу вернуть рабочий каталог в состояние ревизии подсказки. Более ранние запуски процесса сборки изменили некоторые файлы и добавили некоторые файлы, которые я не хочу фиксировать, поэтому у меня есть локальные изменения и файлы, которые не добавляются в хранилище.
Какой самый простой способ отказаться от всего этого и получить чистый рабочий каталог с последней версией?
В настоящее время я делаю это:
hg revert --all
<build command here to delete the contents of the working directory, except the .hg folder.>
hg pull
hg update -r MY_BRANCH
но похоже, что должен быть более простой способ.
Я хочу сделать то же самое, что удалить репо, сделать свежий клон и обновить. Но репо слишком велико, чтобы быть достаточно быстрым.
archive
команду полезной в будущем. Например, вы можете hg archive ../newbuild
, и снимок вашего хранилища в последний раз hg update
будет размещен там. Обычно я делаю это для ночных сборок, чтобы не рисковать своим репо. Просто удалите каталог сборки, когда он вам больше не нужен.
hg update 00
), а затем вернетесь к подсказке. Почемуhg revert --all
недостаточно вернуться в согласованное рабочее состояние папки перед извлечением и обновлением?