是否可以使用ccm query
来获取包含特定模式的源代码文件的所有版本?
例如,我想知道在哪些版本中SourceCode.c
包含对 a 的引用function Foo()
。
是否可以使用ccm query
来获取包含特定模式的源代码文件的所有版本?
例如,我想知道在哪些版本中SourceCode.c
包含对 a 的引用function Foo()
。
一般来说,没有。在实践中,主要是。
源代码不存储在数据库中。因此,您不能简单地查询任意文本匹配项。
但是,源存储在cache
服务器上的区域中。您可以使用您想在该区域搜索的任何文本工具,并且从源到 objectid 的映射是微不足道的。
然而,只有“缓存”版本以这种方式存储。如果您经常运行 clean-cache,或者如果您只是有很多版本,您会发现旧代码和/或未使用版本中的代码不在缓存中。因此,您可以“大部分”找到匹配项,但从技术上讲,您会错过一些您可能根本不关心的版本。
然而,然而,你可以强制文件的源在缓存中ccm cat <object-descriptor>
,所以如果你愿意,你可以绕过它。
然而,无论如何,这往往会很快填满你的缓存,所以你应该避免这样做,或者编写一个脚本,在搜索时自行清理。