如果您执行hg log myfile -v
,则会看到修改该文件的更改集列表。
在我们的案例中,在最近的变更集中,文件已被删除。但你不能通过查看hg log的详细(-v)输出来说明这一点。是否有一个简单的Mercurial命令可用于确定文件是否以及何时从回购中删除?
更新:请注意,这是在Windows客户端上,我们使用的是Mercurial v 1.4.3
更新2 :显示以下答案可以使用更新版本的Mercurial,但是现在没有升级。对于v 1.4.3 ???
的任何其他想法答案 0 :(得分:27)
您可以使用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
。
答案 1 :(得分:19)
--removed
标志可以为您提供所需内容:
hg log myfile -v --removed
来自hg log
的帮助:
--removed include revisions where files were removed
答案 2 :(得分:3)
这是我用来列出我的存储库中所有已删除文件的内容:
hg log --template "{rev}: {file_dels}\n" | grep -v ':\s*$'