X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b11ddb88e608a6dd5e95f95bff2c506674c4fad8..e775d9a644eb45f01abbe6a565d7e4ec6b25e3a1:/IkiWiki/Rcs/tla.pm

diff --git a/IkiWiki/Rcs/tla.pm b/IkiWiki/Rcs/tla.pm
index 5275500c3..e7fed9ad8 100644
--- a/IkiWiki/Rcs/tla.pm
+++ b/IkiWiki/Rcs/tla.pm
@@ -1,11 +1,11 @@
 #!/usr/bin/perl
 
+package IkiWiki;
+
 use warnings;
 use strict;
 use IkiWiki;
 
-package IkiWiki;
-
 sub quiet_system (@) {
 	# See Debian bug #385939.
 	open (SAVEOUT, ">&STDOUT");
@@ -120,7 +120,7 @@ sub rcs_recentchanges ($) {
 			split(/ /, "$newfiles $modfiles .arch-ids/fake.id");
 
 		my $sdate = $head->get("Standard-date");
-		my $when = time - str2time($sdate, 'UTC');
+		my $when = str2time($sdate, 'UTC');
 
 		my $committype = "web";
 		if (defined $summ && $summ =~ /$config{web_commit_regexp}/) {
@@ -132,7 +132,7 @@ sub rcs_recentchanges ($) {
 		}
 
 		my @message;
-		push @message, { line => escapeHTML($summ) };
+		push @message, { line => $summ };
 
 		my @pages;
 
@@ -146,7 +146,7 @@ sub rcs_recentchanges ($) {
 			} if length $file;
 		}
 		push @ret, {
-			id => $change,
+			rev => $change,
 			user => $user,
 			committype => $committype,
 			when => $when,
@@ -160,49 +160,18 @@ sub rcs_recentchanges ($) {
 	return @ret;
 }
 
-sub rcs_notify () { #{{{
-	# FIXME: Not set
-	if (! exists $ENV{ARCH_VERSION}) {
-		error("ARCH_VERSION is not set, not running from tla post-commit hook, cannot send notifications");
+sub rcs_diff ($) { #{{{
+	my $rev=shift;
+	my $logs = `tla logs -d $config{srcdir}`;
+	my @changesets = reverse split(/\n/, $logs);
+	my $i;
+
+	for($i=0;$i<$#changesets;$i++) {
+		last if $changesets[$i] eq $rev;
 	}
-	my $rev=int(possibly_foolish_untaint($ENV{REV}));
 
-	eval q{use Mail::Header};
-	error($@) if $@;
-	open(LOG, $ENV{"ARCH_LOG"});
-	my $head = Mail::Header->new(\*LOG);
-	close(LOG);
-
-	my $user = $head->get("Creator");
-
-	my $newfiles = $head->get("New-files");
-	my $modfiles = $head->get("Modified-files");
-	my $remfiles = $head->get("Removed-files");
-
-	my @changed_pages = grep { !/(^.*\/)?\.arch-ids\/.*\.id$/ }
-		split(/ /, "$newfiles $modfiles $remfiles .arch-ids/fake.id");
-
-	require IkiWiki::UserInfo;
-	send_commit_mails(
-		sub {
-			my $message = $head->get("Summary");
-			if ($message =~ /$config{web_commit_regexp}/) {
-				$user=defined $2 ? "$2" : "$3";
-				$message=$4;
-			}
-		},
-		sub {
-			my $logs = `tla logs -d $config{srcdir}`;
-			my @changesets = reverse split(/\n/, $logs);
-			my $i;
-
-			for($i=0;$i<$#changesets;$i++) {
-				last if $changesets[$i] eq $rev;
-			}
-	
-			my $revminusone = $changesets[$i+1];
-			`tla diff -d $ENV{ARCH_TREE_ROOT} $revminusone`;
-		}, $user, @changed_pages);
+	my $revminusone = $changesets[$i+1];
+	return `tla diff -d $config{srcdir} $revminusone`;
 } #}}}
 
 sub rcs_getctime ($) { #{{{