Subversion搜索整个存储库的所有修订版本的文本

时间:2014-02-25 12:33:01

标签: svn search repository

标题说全部, 我有一个字符串,例如“Foo”,我想搜索我的整个存储库文件内容,以及自该String开始的所有修订(差异)。 所以基本上我想知道这个字符串“Foo”是否是我的源代码的一部分。

我注意到有一些hacky解决方案用于搜索subversion所有修订版,一次一个文件,但这对我来说并不是真的。

我也发现了http://svnquery.tigris.org/servlets/ProjectProcess?pageID=o0dpdE 这似乎是一个解决方案。任何替代方案/想法?

1 个答案:

答案 0 :(得分:1)

历史搜索|数据挖掘中的SVN核心相当薄弱,但我可以建议至少2个纯SVN解决方案

  • svnrevgrep(Python,有一些限制,在评论中提到)
  • svngrep(Bash + Perl + grep,不适合Windows使用)
Eli“外国SCM”方法提及

  

如果您使用的是Mercurial或Git,那么您很幸运,因为它们都提供了内置方法。

因为安装Mercurial( Mercurial后SVN Mercurial一般是自然的方式,Git - 不是)并且添加HGSubversion和克隆repo只需要少量时间,但你得到的电动工具,从你的SVN-repo 永远探索和提取数据

HG-example(基于现有的甲板回购)

> hg grep --all load_theme_textdomain *.php
functions.php:2:-:load_theme_textdomain('fiver', get_template_directory() . '/translation');
functions.php:2:+:load_theme_textdomain('fiver', get_template_directory() . '/languages');
functions.php:1:+:load_theme_textdomain('fiver', get_template_directory() . '/translation');

在变更集1中添加了字符串(第二个“:” - 分隔字段)并在变更集2中进行了编辑(同一版本中的 - 和+操作)