Difference between revisions of "Svn-report.pl"

From Organic Design wiki
m
(moved to tools repo)
Line 1: Line 1:
#!/usr/bin/perl
+
{{svn|tools|svn-report.pl}}
# Read meta data from an SVN repository into a file
 
# {{perl}}
 
 
 
$url = 'http://svn.wikimedia.org/viewvc/mediawiki';
 
 
 
# Todo: Make files name determined by url
 
$out = '/var/www/svn-report.txt';
 
 
 
# Set up a user agent
 
use HTTP::Request;
 
use LWP::UserAgent;
 
$client = LWP::UserAgent->new(
 
        cookie_jar => {},
 
        agent => 'Mozilla/5.0',
 
        from => 'svn-report.pl@organicdesign.co.nz',
 
        timeout => 10,
 
        max_size => 20000
 
        );
 
 
 
$found = true;
 
 
 
# Todo: Start at last processed revision in $out
 
$revision = 1;
 
 
 
while ($found) {
 
$revision++;
 
$response = $client->get("$url?view=rev&revision=$revision");
 
$content = $response->content;
 
if ($content =~ /<pre>404 Not Found<\/pre>/) {
 
$found = false;
 
}
 
else {
 
$core  = 0;
 
$author = '';
 
$date  = '';
 
if ($content =~ /<strong>Changed paths:<\/strong>.+phase3/s)  { $core = 1    } # Todo: Extract all path info
 
if ($content =~ /<th>Author:<\/th>\s*<td>(.*?)<\/td>/s)        { $author = $1 }
 
if ($content =~ /<th>Date:<\/th>\s*<td>(.+?)\s+UTC.*?<\/td>/s) { $date = $1  }
 
 
 
$line = "$revision,$date,$author,$core\n";
 
print $line;
 
open OUTH,'>>',$out or die "Can't open '$out' for writing!";
 
print OUTH $line;
 
close OUTH;
 
}
 
}
 

Revision as of 07:10, 14 June 2010

Info.svg This code is in our Git repository here.

Note: If there is no information in this page about this code and it's a MediaWiki extension, there may be something at mediawiki.org.