有沒有什麼好的軟件可以讓我通過SVN代碼段搜索代碼片段?我找到了'FishEye',但費用是1,200,遠遠超出我的預算。SVN存儲庫搜索
SVN存儲庫搜索
回答
很多SVN回購站都是「簡單」的HTTP站點,因此您可以考慮查看一些現成的「網絡爬行」搜索應用程序,您可以指向SVN根目錄,它會爲您提供基本功能。更新它可能會有一些竅門,也許一些hackery中的SVN檢查可能會癢癢的索引丟棄或重新索引更改。
只想大聲。
這可能不是一個好主意,因爲涉及的開銷很大。另外,SVN服務器通常不是常規的網頁,而是通過webdav暴露的svn repo。 – torkildr 2010-10-29 13:58:37
theres krugle and koders but both are expensive。兩者都有Eclipse的插件。
Krugle Basic怎麼樣? – 2010-02-10 13:04:12
我喜歡TRAC - 這個插件可能是你的任務有所幫助:http://trac-hacks.org/wiki/RepoSearchPlugin
這看起來有點有前途......但不是太容易安裝,無法確認它是否與Trac + VisualSVN Server一起使用。 – 2008-10-31 19:38:12
OpenGrok現在已轉移到http://opengrok.github.io/OpenGrok/。 – alanc 2013-05-14 02:02:41
如果你真的絕望了,做好回購轉儲(看「svnadmin的轉儲」 )然後grep通過它。這並不漂亮,但您可以查看搜索結果,找到指示文件和修訂的元數據,然後查看它以獲得更好的外觀。
不是一個好的解決方案,當然,但它是免費的:) SVN不提供搜索過去簽入(甚至是過去的日誌文件,AFAIK)的功能。
痛苦的緩慢(和粗暴執行)而是使用svn日誌和svn貓組合的作品,如果你正在尋找的單個文件或小型倉庫的歷史:
svn log filetosearch |
grep '^r' |
cut -f1 -d' ' |
xargs -i bash -c "echo '{}'; svn cat filetosearch -'{}'"
將輸出每個修訂數,其中文件改變文件。您總是可以將每個修訂記錄到不同的文件中,然後grep進行更改。
PS。大量upvotes任何人告訴我如何正確地做到這一點!
有sourceforge.net/projects/svn-search。
也有直接在Windows應用程序從SVN有家叫SvnQuery可用在http://svnquery.tigris.org
如果你只爲文件名,使用搜索:
svn list -R file:///subversion/repository | grep filename
的Windows:
svn list -R file:///subversion/repository | findstr filename
否則結帳並做文件系統搜索:
egrep -r _code_ .
- 創建
git-svn
該存儲庫的鏡像。 - 搜索添加或刪除字符串中的git:
git log -S'my line of code'
或gitk
優點相同的是,你可以做很多本地查找,無需加載服務器和網絡連接。
只需要注意一下,FishEye(和很多其他Atlassian產品)都有10美元的入門版本,在FishEye的情況下,它爲您提供了5個存儲庫和多達10個提交者的訪問權限。 錢在這種情況下去慈善機構。
//編輯:工具已經在另一個答案中提到,所以給予Kuryaki所有學分。
剛剛發現SupoSE這是一個基於java的命令行工具,它掃描存儲庫以創建索引,之後能夠回答某些類型的查詢。我們仍在評估該工具,但看起來很有希望。值得一提的是,它提供了所有版本的完整索引,包括源代碼文件和常用辦公格式。
這個例子管倉庫的全部內容寫入一個文件,然後可以快速在編輯器中搜索文件名:
svn list -R svn://svn > filelist.txt
這是有用的,如果存儲庫是相對靜態的,你想做的事快速搜索,無需重複加載SVN服務器上的所有內容。
與Subversion 1.8, you can use --search
option with svn log
command開始。請注意,命令未在倉庫內進行全文搜索,它只考慮了以下數據:
- 修訂的作者(
svn:author
版本化的屬性), - 日期(
svn:date
版本化的屬性), - 日誌消息文本(
svn:log
版本控制的屬性),改變路徑的 - 列表(即受特定版本的路徑)。
這裏是幫助頁面瞭解這些新的搜索選項:
If the --search option is used, log messages are displayed only if the
provided search pattern matches any of the author, date, log message
text (unless --quiet is used), or, if the --verbose option is also
provided, a changed path.
The search pattern may include "glob syntax" wildcards:
? matches any single character
* matches a sequence of arbitrary characters
[abc] matches any of the characters listed inside the brackets
If multiple --search options are provided, a log message is shown if
it matches any of the provided search patterns. If the --search-and
option is used, that option's argument is combined with the pattern
from the previous --search or --search-and option, and a log message
is shown only if it matches the combined search pattern.
If --limit is used in combination with --search, --limit restricts the
number of log messages searched, rather than restricting the output
to a particular number of matching log messages.
- 1. 搜索SVN存儲庫
- 2. 龜龜SVN是否允許在存儲庫中搜索?
- 3. 如何搜索Eclipse P2存儲庫?
- 4. sharpsvn搜索存儲庫提交
- 5. 如何搜索CVS存儲庫?
- 6. Apache2 svn多個存儲庫
- 7. 使用openCV SVN存儲庫
- 8. SVN加載新存儲庫
- 9. SVN存儲庫結構
- 10. SVN只讀存儲庫
- 11. 創建SVN retrocompatible存儲庫
- 12. SVN。存儲庫文件夾
- 13. SVN遠程存儲庫
- 14. 更改SVN存儲庫
- 15. SVN存儲庫內容
- 16. svn +存儲庫位置
- 17. 已更改svn存儲庫
- 18. SVN存儲庫問題
- 19. PHP Cookie存儲用戶表單搜索 - 存儲多個搜索
- 20. 在SVN信息庫中搜索
- 21. SVN外部從本地存儲庫到遠程存儲庫
- 22. 將Git存儲庫與SVN存儲庫同步
- 23. 將一個SVN存儲庫鏈接到多個Trac存儲庫
- 24. 多個SVN存儲庫或單個公司存儲庫
- 25. 從BASE存儲庫創建新的SVN存儲庫?
- 26. 將svn本地存儲庫遷移到git存儲庫
- 27. 本地存儲庫中的svn存儲庫
- 28. 許多SVN存儲庫或許多目錄的存儲庫?
- 29. 存儲過程來搜索
- 30. 存儲以前的搜索
你需要通過回購的歷史進行搜索嗎?或者只是頭部? – swilliams 2008-10-31 17:32:49
有魚眼的免費版本 - www.atlassian.com/starter – 2011-02-23 13:44:35
@DavidFreitas沒有自由選擇現在 – bahrep 2013-10-07 08:49:23