有没有什么好的软件可以让我通过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