Как удалить рабочую копию из Клона Mercurial?


при клонировании репозитория с помощью mercurial вы можете передать флаг-U/--noupdate для создания клона без рабочей копии. Могу ли я удалить рабочую копию, если я забыл передать этот флаг во время клонирования? И если да, то как?

это концептуально похоже на этот вопрос git, но для mercurial.

2 53

2 ответа:

Я мог бы упустить нюансы здесь. Кто-нибудь может меня поправить.

документация на Mercurial wiki говорит следующее о голых репозиториях:

"хотя это незначительная проблема, Mercurial, очевидно, может обрабатывать голый репозиторий; то есть репозиторий без рабочей копии. В Git вам нужен параметр конфигурации для этого, тогда как в Hg вам нужно только проверить нулевую ревизию, например:"

обновление hg null

нулевая ревизия-это пустое состояние, которое у вас есть, когда вы только что сделали hg init. Он является родителем ревизии 0 (и вторым родителем всех неслужебных ревизий), и при обновлении обратно к нему вы снова получаете пустую рабочую копию.

ссылка может выглядеть парадоксально:

rm -rf *

это удаляет все "видимые" файлы (под *nix). Так как репозиторий Mercurial хранится в" скрытом " файле .hg, он не будет затронут. К сожалению, также не будет никаких скрытых файлов, таких как .hgignore.

восстановить рабочую копию, я уверен, что есть hg update флаг, который работает, но это будет так же:

hg revert --all