如何搜索CVS存储库?

时间:2010-01-06 10:18:29

标签: search cvs

我工作的公司使用CVS作为源代码控制,我们有一个内部网应用程序(Source forge),它暴露了存储库,即我们可以使用该接口查看源文件,但它不提供我可以搜索的任何搜索工具对于给定关键字的代码段。

我想编写一个可以搜索代码片段的应用程序.Ex。将是Koders.com,它提供搜索给定的关键字,并提供浏览源文件的链接。我能想到的两种方式是

1 - 在cvs存储库中搜索(访问可能是个问题。)

2 - 搜索公开所有源文件的Intranet应用程序。

你们认为什么是正确的方法。我打算在一个单独的数据库中对其进行索引,并将其用于搜索,但不知道如何做到这一点。任何帮助表示赞赏:)

1 个答案:

答案 0 :(得分:1)

当我被问到“我们在CVS存储库中有一个名为somefile.txt的文件吗?”时或者“我们有一个包含某些文字的文件吗?” (因为我可以访问底层存储库)我只是在CVSROOT上运行find命令。执行此操作时,请记住CVS使用RCS存储文件,因此文件附加,v。因此,在查找somefile.txt时,您必须查找名为somefile.txt,v的文件。

find $CVSROOT -type f -name somefile.txt,v

find $CVSROOT -type f -exec grep sometext {} \;(做得好可能要复杂一点,但你得到了要点)

如果文件已被“删除”,您将看到它位于Attic目录中。另外,请注意不要编辑这些,v文件,因为它很容易破解。

如果您没有访问权限,那么您必须检查整个存储库,然后在本地计算机上搜索,但是您无法有效地搜索历史记录。