wso*_*son 59 version-control mercurial
您可以使用hg grep,但它会搜索所有文件的内容.
如果我只是想搜索已删除文件的文件名来恢复一个怎么办?
我试过hg grep -I file-name-pattern 模式,但这似乎没有返回任何结果.
dfa*_*dfa 85
使用模板很简单:
$ hg log --template "{rev}: {file_dels}\n"
Run Code Online (Sandbox Code Playgroud)
sha*_*tor 49
您也可以使用revsets:
hg log -r "removes('**')"
Run Code Online (Sandbox Code Playgroud)
(编辑:注意双*- 一个只检测来自存储库根目录的删除.)
编辑:作为马修Longtin表明,这可以通过组合模板从DFA的答案给你看哪个文件列出的各个版本中删除:
hg log -r "removes('**')" --template "{rev}: {file_dels}\n"
Run Code Online (Sandbox Code Playgroud)
这具有每行列出一个修订版的优点(用于机器可读性),但是您可以通过使用%格式化删除列表中的每个项目来使输出对人类更漂亮:
hg log -r "removes('**')" --template "{rev}:\n{file_dels % '{file}\n'}\n"
Run Code Online (Sandbox Code Playgroud)
如果您使用TortoiseHg工作台,一种方便的方法是使用修订过滤器.点击ctrl+s,然后输入
removes("**/FileYouWantToFind.txt")
Run Code Online (Sandbox Code Playgroud)
**/表示您要在存储库中递归搜索.您也可以*在文件名中使用通配符.您可以在此查询与使用其他版本合并组and,or运营商.