0

是否可以使用ccm query来获取包含特定模式的源代码文件的所有版本?

例如,我想知道在哪些版本中SourceCode.c包含对 a 的引用function Foo()

4

1 回答 1

0

一般来说,没有。在实践中,主要是。

源代码不存储在数据库中。因此,您不能简单地查询任意文本匹配项。

但是,源存储在cache服务器上的区域中。您可以使用您想在该区域搜索的任何文本工具,并且从源到 objectid 的映射是微不足道的。

然而,只有“缓存”版本以这种方式存储。如果您经常运行 clean-cache,或者如果您只是有很多版本,您会发现旧代码和/或未使用版本中的代码不在缓存中。因此,您可以“大部分”找到匹配项,但从技术上讲,您会错过一些您可能根本不关心的版本。

然而,然而,你可以强制文件的源在缓存中ccm cat <object-descriptor>,所以如果你愿意,你可以绕过它。

然而,无论如何,这往往会很快填满你的缓存,所以你应该避免这样做,或者编写一个脚本,在搜索时自行清理。

于 2016-05-08T19:05:25.913 回答