X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/b11ddb88e608a6dd5e95f95bff2c506674c4fad8..f66eddccc688059fee94b4b7789318e39675d34c:/IkiWiki/Rcs/svn.pm diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm index a32b0a840..6a822e896 100644 --- a/IkiWiki/Rcs/svn.pm +++ b/IkiWiki/Rcs/svn.pm @@ -1,12 +1,12 @@ #!/usr/bin/perl +package IkiWiki::Rcs::svn; + use warnings; use strict; use IkiWiki; use POSIX qw(setlocale LC_CTYPE); -package IkiWiki::Rcs::svn; - sub import { #{{{ if (exists $IkiWiki::config{svnpath}) { # code depends on the path not having extraneous slashes @@ -171,7 +171,7 @@ sub rcs_recentchanges ($) { #{{{ my $rev = $logentry->{revision}; my $user = $logentry->{author}; - my $when=time - str2time($logentry->{date}, 'UTC'); + my $when=str2time($logentry->{date}, 'UTC'); foreach my $msgline (split(/\n/, $logentry->{msg})) { push @message, { line => $msgline }; @@ -204,7 +204,7 @@ sub rcs_recentchanges ($) { #{{{ } if length $file; } push @ret, { - id => $rev, + rev => $rev, user => $user, committype => $committype, when => $when, @@ -217,42 +217,9 @@ sub rcs_recentchanges ($) { #{{{ return @ret; } #}}} -sub rcs_notify () { #{{{ - if (! exists $ENV{REV}) { - error(gettext("REV is not set, not running from svn post-commit hook, cannot send notifications")); - } - my $rev=int(possibly_foolish_untaint($ENV{REV})); - - my $user=`svnlook author $config{svnrepo} -r $rev`; - chomp $user; - - my $message=`svnlook log $config{svnrepo} -r $rev`; - if ($message=~/$config{web_commit_regexp}/) { - $user=defined $2 ? "$2" : "$3"; - $message=$4; - } - - my @changed_pages; - foreach my $change (`svnlook changed $config{svnrepo} -r $rev`) { - chomp $change; - if (length $config{svnpath}) { - if ($change =~ /^[A-Z]+\s+\Q$config{svnpath}\E\/(.*)/) { - push @changed_pages, $1; - } - } - else { - push @changed_pages, $change; - } - } - - require IkiWiki::UserInfo; - send_commit_mails( - sub { - return $message; - }, - sub { - `svnlook diff $config{svnrepo} -r $rev --no-diff-deleted`; - }, $user, @changed_pages); +sub rcs_diff ($) { #{{{ + my $rev=possibly_foolish_untaint(int(shift)); + return `svnlook diff $config{svnrepo} -r$rev --no-diff-deleted`; } #}}} sub rcs_getctime ($) { #{{{