Mercurial - определить, где был удален файл?
Если вы выполните hg log myfile -v
, вы увидите список изменений, в которые был изменен файл.
В нашем случае в последнем наборе изменений файл был удален. Но вы не можете сказать это, посмотрев подробный (-v) вывод hg log. Есть ли простая команда Mercurial, которую вы можете использовать, чтобы определить, был ли и когда файл удален из репо?
Обновить. Обратите внимание, что это находится на клиенте Windows, и мы используем Mercurial v 1.4.3
Обновление 2. Появляется, что ответы ниже будут работать с более поздней версией Mercurial, однако обновление сейчас не в карточках. Любые другие идеи для v 1.4.3???
Ответы
Ответ 1
Вы можете проверить, какая версия удалила файл (любые другие интересные функции) с помощью 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
.
Ответ 2
Флаг --removed
должен предоставить вам то, что вы ищете:
hg log myfile -v --removed
Из справки для hg log
:
--removed include revisions where files were removed
Ответ 3
Это то, что я использую, чтобы перечислить все удаленные файлы в моем репозитории:
hg log --template "{rev}: {file_dels}\n" | grep -v ':\s*$'