2012-07-30 76 views
4

如何(如果可能的话)在文件中搜索字符串,包括其所有修订版本?在文件中搜索及其所有SVN修订版

这样做的原因是我知道某些字符串在我的文件foo.bar过去的某个地方,但之后被删除。文件上有很多修改,因此手动搜索很耗时。我需要一个工具来下载foo.bar文件的所有修订版本,并在每个修订版本中搜索我的字符串。

如果可能的话,我会很高兴在目录中搜索,而不仅仅是单个文件(但也包括所有修订版本)。然而,这是可选的。

我唯一的解决方案是编写一个python脚本来通过修订导出修订版,并始终读取文件并使用find()搜索字符串。

+0

几乎和你所做的一样,我会用一个脚本去寻找每个rev的'svn diff'输出,并在时间上向后... – 2012-07-30 06:57:09

回答

1

这可能会回答你的问题: https://groups.google.com/forum/?fromgroups#!topic/subversion-development/dFIFGBzKt9A

也许你可以通过整个历史(如GIT)转储的diff和grep该文件。但是这需要svn 1.7。

如果你是通过自己的脚本来做的话,使用svn-diff修改版本可能会更快(我还没有尝试过)并且保存在磁盘上。

+0

这对我有用 - 它不是全自动的,但它确实简化了工作。 – 2012-07-30 07:31:36

0

我也想出了一个Python的解决方案

code = os.system("svn diff <file-name> -r r<n>:r<n+1> | grep <string-to-search>") 

如果匹配,code是0,否则256,这是1实际。 Why system('exit 1') return 256`

相关问题