是否有任何好的软件可以让我通过我的SVN存储库搜索代码片段?我找到了'FishEye',但成本是1,200,远远超出我的预算.
如果您只搜索文件名,请使用:
svn list -R file:///subversion/repository | grep filename
视窗:
svn list -R file:///subversion/repository | findstr filename
否则结帐并进行文件系统搜索:
egrep -r _code_ .
有sourceforge.net/projects/svn-search.
在http://svnquery.tigris.org上还有一个名为SvnQuery的SVN主页直接提供的Windows应用程序
从Subversion 1.8--search
svn log
开始,您可以使用带命令的选项.请注意,该命令不会在存储库中执行全文搜索,它仅考虑以下数据:
修订版的作者(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.
我们使用http://opensolaris.org/os/project/opengrok/
创建git-svn
该存储库的镜像.
在git中搜索添加或删除的字符串:git log -S'my line of code'
或者相同的gitk
优点是您可以在本地执行许多搜索,而无需加载服务器和网络连接.
此示例将存储库的完整内容传递到文件,然后您可以在编辑器中快速搜索文件名:
svn list -R svn://svn > filelist.txt
如果存储库是相对静态的并且您希望快速搜索而不必重复加载SVN服务器中的所有内容,则此选项非常有用.