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

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

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

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


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

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

4b9b3361

Ответ 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*$'