我希望hg grep
成为hg locate
的同义词,但事实证明它是一个不同的命令。 hg locate
默认情况下应搜索与单个分区中的模式匹配的文件,而grep
通常会向后搜索所有修订版(但可以限制为单个修订版或范围)。
这两个看似重叠的命令是什么原因?它们是针对不同的用例吗?我不能推断他们之间有任何合理的分工。
顺便说一下,当我用一个模式(我知道跟踪文件中存在一个模式)调用它时,我无法让locate
返回任何内容。如果我误解了某些内容,请启发我(但这仅供参考;问题是关于grep
与locate
)。
% hg locate BoolNative
%
答案 0 :(得分:3)
它们是完全不同的命令(顺便说一下,hg locate
已被弃用,因为它的功能现在归入hg files
)。
简而言之,hg grep
搜索文件的内容; hg locate
搜索文件列表,该模式旨在匹配文件名,而非文件内容(hg locate
的功能大致相当于Unix find
命令仅限于受版本控制的文件。)
在您的示例中,您尝试使用hg locate
搜索文件内容,这将无效。