"hg grep" 和 "hg locate" 有什么区别?
What is the difference between "hg grep" and "hg locate"?
我原以为 hg grep
是 hg locate
的同义词,但结果却是不同的命令。 hg locate
应该在默认情况下搜索与单个分区中的模式匹配的文件,而 grep
通常向后搜索所有修订版(但可以限制在单个修订版或范围内)。
这两个看似重叠的命令是什么原因?它们是否适用于不同的用例?我无法推断出他们之间有什么合理的分工。
顺便说一句,当我用一种模式(我知道跟踪文件中存在的模式)调用它时,我无法得到 locate
到 return 任何东西。如果我误解了什么,请赐教(但这仅供参考;问题是关于 grep
与 locate
)。
% hg locate BoolNative
%
它们是完全不同的命令(顺便说一句,hg locate
已被弃用,因为它的功能现在包含在 hg files
下)。
简而言之,hg grep
搜索文件的内容; hg locate
搜索 文件列表 并且该模式旨在匹配 文件名 ,而不是文件内容([=10= 的功能] 大致等同于 Unix find
限制在版本控制文件中的命令。
在您的示例中,您尝试使用 hg locate
来搜索文件的内容,这将不起作用。
我原以为 hg grep
是 hg locate
的同义词,但结果却是不同的命令。 hg locate
应该在默认情况下搜索与单个分区中的模式匹配的文件,而 grep
通常向后搜索所有修订版(但可以限制在单个修订版或范围内)。
这两个看似重叠的命令是什么原因?它们是否适用于不同的用例?我无法推断出他们之间有什么合理的分工。
顺便说一句,当我用一种模式(我知道跟踪文件中存在的模式)调用它时,我无法得到 locate
到 return 任何东西。如果我误解了什么,请赐教(但这仅供参考;问题是关于 grep
与 locate
)。
% hg locate BoolNative
%
它们是完全不同的命令(顺便说一句,hg locate
已被弃用,因为它的功能现在包含在 hg files
下)。
简而言之,hg grep
搜索文件的内容; hg locate
搜索 文件列表 并且该模式旨在匹配 文件名 ,而不是文件内容([=10= 的功能] 大致等同于 Unix find
限制在版本控制文件中的命令。
在您的示例中,您尝试使用 hg locate
来搜索文件的内容,这将不起作用。