Предположим, что в репозитории имеется 20 версий. Текущей версией записи является версия 10, а фактические локальные файлы основаны на последней версии 20. Я не хочу вступать в ветвь из ревизии 10. Я хочу продолжить ревизию 20.
В настоящее время я делаю это, чтобы скопировать все файлы из каталога версий, запустить hg update -C (который обновляет номер версии), удалить все файлы в каталоге репозитория, скопировать все файлы обратно, затем совершить. Вы можете сказать, что это раздражает и время расточительно. Есть ли способ обновить номер версии, но не изменить какой-либо локальный файл?
Спасибо заранее.
EDIT: существует много вариантов использования (в основном я использую TortoiseHg).
1) Я ошибочно выбираю "Нет", когда вам предлагается удалить файлы из репозитория во время фиксации. Я могу использовать полосу из mq, чтобы удалить ревизию, но это вернет все зарегистрированные файлы. Вместо этого я хочу "переименовать" предыдущую ревизию, снова зафиксировать, а затем удалить ненужную ревизию. Это может случиться с кем угодно в любое время, а не только я, а не только один раз.
2) У меня была машина для разработки A. Я запустил проект на ней и переключился на машину B через несколько месяцев. Код на A стареет, а код в B не изменяется. Если я хочу продолжить разработку на A, мне нужно скопировать код в через Flash или в сеть и т.д. Теперь я хочу зафиксировать A без разветвления (потому что код на A фактически основан на текущем кончике). Это происходит, может быть, реже, но все же не "один раз", и, возможно, при участии в большом проекте.
3) В репозитории есть 2 ветки C и D. Имеется примерно 2000 файлов. Текущий совет в C. Я хочу переписать некоторые файлы в D с теми же именами файлов на C (потому что C более реализован), сохраняя при этом другие файлы без изменений, а затем создайте новый отзыв в D. У меня есть несколько вариантов. Я мог бы обновиться до D, сравнить последнюю ревизию D с текущим кончиком, внести изменения и зафиксировать. Обновление потребуется некоторое время, и сложность сравнения в значительной степени зависит от инструмента сравнения. Я мог бы также сначала сравнить, внести изменения, создать резервную копию всего каталога, обновить до D, а затем восстановить весь каталог. Это еще более громоздко. Но если я могу "переименовать" в D, мне просто нужно внести изменения и совершить. Это не зависит от инструмента сравнения, поскольку окно фиксации в TortoiseHg имеет список различий.
Если вы хотите думать, может быть больше случаев использования. Надеюсь, Mercurial предоставляет такую функцию "переименования" (предположительно новую опцию для обновления hg) или, по крайней мере, удобную альтернативу.