Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

Возможно, мне не хватает нюансов. Кто-то может меня исправить.

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

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

hg update null

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

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

Ответ 2

rm -rf *

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

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

hg revert --all