Mercurial - определить, где файл был удален?

Если вы делаете hg log myfile -v вы видите список изменений, в которых был изменен файл.

В нашем случае в самой последней ревизии файл был удален. Но вы не можете сказать это, посмотрев на подробный вывод (-v) hg log. Есть ли простая команда Mercurial, которую вы можете использовать, чтобы определить, был ли и когда файл удален из хранилища?


Обновление: обратите внимание, что это на клиенте Windows, и мы используем Mercurial v 1.4.3

Обновление 2. Похоже, что приведенные ниже ответы будут работать с более поздней версией Mercurial, однако обновления пока нет в картах. Любые другие идеи для v 1.4.3???

3 ответа

Вы можете проверить, какая ревизия удалила файл (любые другие интересные функции), используя revsets:

hg log -r 'removes(<myfile>)'

Некоторые примеры:

hg log -r 'removes(build.xml)' // где build.xml находился в текущем каталоге

hg log -r 'removes("**/build.xml")' // где build.xml мог находиться в подкаталогах

Увидеть hg help revsets для деталей.

--removed Флаг должен получить то, что вы ищете:

hg log myfile -v --removed

Из помощи для hg log:

    --removed              include revisions where files were removed

Это то, что я использую, чтобы перечислить все удаленные файлы в моем хранилище:

hg log --template "{rev}: {file_dels}\n" | grep -v ':\s*$'
Другие вопросы по тегам