В Mercurial, как бороться с одинаково именованным файлом и каталогом в двух ревизиях? - PullRequest
4 голосов
/ 17 декабря 2010

Проблема может быть тривиально проиллюстрирована:

hg init temp
cd temp
touch a
hg ci -A -m file
hg rm a
mkdir a
hg ci -m dir
hg up -r0

Последняя команда завершается неудачно с abort: Is a directory: a (или более загадочным Access is denied в Windows).

Есть ли обходной путь?

Я столкнулся с этой проблемой при преобразовании устаревшего кода. Мне действительно нужно полностью автоматизировать преобразование, поскольку у меня есть десятки версий огромной базы кода, и синонимы file / dir могут возникнуть в любое время.

1 Ответ

7 голосов
/ 17 декабря 2010

Добавить:

hg purge

до последнего обновления, чтобы избавиться от пустой директории. Обратите внимание, что даже если вы добавили каталог, он все равно не будет отслеживаться; Mercurial не отслеживает пустые каталоги (неявно отслеживает только непустые).

purge удаляет «Неизвестные файлы» и «Пустые каталоги».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...