2010-01-06 80 views
1

這是我工作的公司使用CVS作爲源代碼控制,我們有一個Intranet應用程序(Source Forge的),其暴露庫也就是說,我們可以使用該界面顯示的源文件,但它不提供任何搜索工具,在那裏我可以搜索給定關鍵字的代碼片段。如何搜索CVS存儲庫?

我想寫它可以搜索代碼snippet.Ex的應用程序。將Koders.com提供搜索給定的關鍵字,並提供一個鏈接來瀏覽源文件。這兩種方式我能想到的是

在CVS倉庫(對於該訪問可能是一個問題。)1 - 搜索

2:搜尋暴露所有的源文件的Intranet應用程序。

你們怎麼想到會是正確的做法。我打算在一個單獨的數據庫中索引它,並將其用於搜索,但不知道如何做到這一點。任何幫助表示讚賞:)

+0

爲什麼不把代碼片段到不同的存儲庫,如數據庫? – 2010-01-06 10:20:04

+0

這需要額外的努力。因爲所有的開發人員都在cvs中檢查代碼,所以從原始位置進行搜索會很好。 – Kapil 2010-01-06 10:21:18

+0

區分*代碼段*與其他檢入的代碼有什麼區別?或者你只是想通過CVS提交評論搜索? – Tarydon 2010-01-06 10:24:19

回答

1

當有人問我這個問題:「我們有一個叫做somefile.txt CVS庫中的文件嗎?」或者「我們有一個包含一些文字的文件嗎?」 (因爲我有權訪問底層存儲庫),我只是在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文件,因爲它很容易中斷。

如果您沒有訪問,那麼你不得不檢查整個倉庫,然後在本地計算機上搜索,但你不能有效地得到一個搜索歷史。