"hg grep" 和 "hg locate" 有什么区别?

What is the difference between "hg grep" and "hg locate"?

我原以为 hg grephg locate 的同义词,但结果却是不同的命令。 hg locate 应该在默认情况下搜索与单个分区中的模式匹配的文件,而 grep 通常向后搜索所有修订版(但可以限制在单个修订版或范围内)。

这两个看似重叠的命令是什么原因?它们是否适用于不同的用例?我无法推断出他们之间有什么合理的分工。

顺便说一句,当我用一种模式(我知道跟踪文件中存在的模式)调用它时,我无法得到 locate 到 return 任何东西。如果我误解了什么,请赐教(但这仅供参考;问题是关于 greplocate)。

% hg locate BoolNative
%

它们是完全不同的命令(顺便说一句,hg locate 已被弃用,因为它的功能现在包含在 hg files 下)。

简而言之,hg grep搜索文件的内容hg locate 搜索 文件列表 并且该模式旨在匹配 文件名 ,而不是文件内容([=10= 的功能] 大致等同于 Unix find 限制在版本控制文件中的命令。

在您的示例中,您尝试使用 hg locate 来搜索文件的内容,这将不起作用。