Как я могу удалить рабочую копию из клона Mercurial? - PullRequest
57 голосов
/ 11 ноября 2010

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

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

Ответы [ 2 ]

82 голосов
/ 11 ноября 2010

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

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

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

hg update null

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

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

0 голосов
/ 11 ноября 2010
rm -rf *

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

, также не будут.

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

hg revert --all
...