24

如果你hg log myfile -v看到了文件被修改的变更集列表。

在我们的例子中,在最近的变更集中,该文件已被删除。但是您无法通过查看 hg 日志的详细 (-v) 输出来判断这一点。是否有一个简单的 Mercurial 命令可用于确定文件是否以及何时从存储库中删除?


更新:请注意,这是在 Windows 客户端上,我们使用 Mercurial v 1.4.3

更新 2:似乎下面的答案适用于更新版本的 Mercurial,但目前还没有升级的可能性。v 1.4.3 的任何其他想法???

4

3 回答 3

31

您可以使用 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

于 2011-03-24T13:24:23.047 回答
21

--removed标志应该为您提供所需的内容:

hg log myfile -v --removed

从帮助hg log

    --removed              include revisions where files were removed
于 2011-03-24T13:27:15.870 回答
3

这是我用来列出存储库中所有已删除文件的方法:

hg log --template "{rev}: {file_dels}\n" | grep -v ':\s*$'
于 2011-03-24T13:26:11.600 回答