X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ffb27000431f744f2cec9d198d0a0d8cbb0bd405..5608aa078e5a11ff6fbe1adda65a209017b0b630:/IkiWiki/Rcs/svn.pm?ds=inline diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm index ee5065379..30020c1fc 100644 --- a/IkiWiki/Rcs/svn.pm +++ b/IkiWiki/Rcs/svn.pm @@ -60,13 +60,22 @@ sub rcs_prepedit ($) { #{{{ } } #}}} -sub rcs_commit ($$$) { #{{{ +sub rcs_commit ($$$;$$) { #{{{ # Tries to commit the page; returns undef on _success_ and # a version of the page with the rcs's conflict markers on failure. # The file is relative to the srcdir. my $file=shift; my $message=shift; my $rcstoken=shift; + my $user=shift; + my $ipaddr=shift; + + if (defined $user) { + $message="web commit by $user".(length $message ? ": $message" : ""); + } + elsif (defined $ipaddr) { + $message="web commit from $ipaddr".(length $message ? ": $message" : ""); + } if (-d "$config{srcdir}/.svn") { # Check to see if the page has been changed by someone @@ -122,7 +131,6 @@ sub rcs_recentchanges ($) { #{{{ eval q{ use Date::Parse; - use Time::Duration; use XML::SAX; use XML::Simple; }; @@ -195,12 +203,18 @@ sub rcs_recentchanges ($) { #{{{ sub rcs_notify () { #{{{ if (! exists $ENV{REV}) { - error("REV is not set, not running from svn post-commit hook, cannot send notifications"); + 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`) { @@ -213,11 +227,6 @@ sub rcs_notify () { #{{{ require IkiWiki::UserInfo; send_commit_mails( sub { - my $message=`svnlook log $config{svnrepo} -r $rev`; - if ($message=~/$config{web_commit_regexp}/) { - $user=defined $2 ? "$2" : "$3"; - $message=$4; - } return $message; }, sub {