“hg grep”和“hg locate”有什么区别?

时间:2015-12-08 13:23:10

标签: mercurial

我希望hg grep成为hg locate的同义词,但事实证明它是一个不同的命令。 hg locate默认情况下应搜索与单个分区中的模式匹配的文件,而grep通常会向后搜索所有修订版(但可以限制为单个修订版或范围)。

这两个看似重叠的命令是什么原因?它们是针对不同的用例吗?我不能推断他们之间有任何合理的分工。

顺便说一下,当我用一个模式(我知道跟踪文件中存在一个模式)调用它时,我无法让locate返回任何内容。如果我误解了某些内容,请启发我(但这仅供参考;问题是关于greplocate)。

% hg locate BoolNative
%

1 个答案:

答案 0 :(得分:3)

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

简而言之,hg grep搜索文件的内容; hg locate搜索文件列表,该模式旨在匹配文件名,而非文件内容(hg locate的功能大致相当于Unix find命令仅限于受版本控制的文件。)

在您的示例中,您尝试使用hg locate搜索文件内容,这将无效。