I wrote a script to do it
TYpical usage:
perl searchrev.pl Import.php setImportStatus
----------------------------------------------------------------------
r19565 | johnf | 2009-06-24 14:33:00 +0100 (Wed, 24 Jun 2009) | 1 line
----------------------------------------------------------------------
line 60 $this->setImportStatus($entity_id, $entity_attr_id);
---------------------------------------------------------------------
r13722 | john | 2008-03-10 17:06:14 +0000 (Mon, 10 Mar 2008) | 1 line
---------------------------------------------------------------------
line 70 $this->setImportStatus($entity_id, $entity_attr_id);
---------------------------------------------------------------------
r11692 | paul | 2007-05-23 10:55:45 +0100 (Wed, 23 May 2007) | 1 line
---------------------------------------------------------------------
Not found
---------------------------------------------------------------------
r11691 | paul | 2007-05-23 10:36:26 +0100 (Wed, 23 May 2007) | 1 line
---------------------------------------------------------------------
Not found
---------------------------------------------------------------------
r11683 | paul | 2007-05-23 09:04:29 +0100 (Wed, 23 May 2007) | 1 line
---------------------------------------------------------------------
Not found
Here's the script, easy to hack for your own purposes
#!/usr/bin/perl -w
my $file=$ARGV[0];
my $pattern=$ARGV[1];
my @history=`svn log "$file"`;
foreach (@history)
{
chomp;
if (m/^r(d+)/)
{
my $revision=$1;
my $sep='-' x length($_);
print "$sep
$_
$sep
";
my @code=`svn cat -r $revision "$file"`;
my $lineno=0;
my $found=0;
foreach my $line (@code)
{
$lineno++;
if ($line=~m/$pattern/)
{
$line=~s/^s+//;
print "line $lineno $line";
$found=1;
}
}
print "Not found
" unless ($found);
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…