recentchanges
[ikiwiki.git] / ikiwiki
diff --git a/ikiwiki b/ikiwiki
index 4057564833f9e6479bc34d8dc13cd510126c08b3..813c38b52d6261b9fbd21d37736592b388cedb3f 100755 (executable)
--- a/ikiwiki
+++ b/ikiwiki
@@ -382,8 +382,8 @@ sub rcs_recentchanges ($) {
                my $state='start';
                my ($rev, $user, $when, @pages, $message);
                foreach (`LANG=C svn log -v '$svn_url'`) {
-                       print STDERR "state: $state\n";
                        chomp;
+                       print STDERR "state: $state ($_)\n";
                        if ($state eq 'start' && /$div/) {
                                $state='header';
                        }
@@ -399,10 +399,11 @@ sub rcs_recentchanges ($) {
                                $state='body';
                        }
                        elsif ($state eq 'body' && /$div/) {
-                               push @ret, {rev => $rev, user => $user,
+                               push @ret, { rev => $rev, user => $user,
                                        date => $when, message => $message,
-                                       pages => [@pages]},
-                               last if @ret >= $num;
+                                       pages => [@pages] };
+                               print STDERR "have: $#ret; most recent is $ret[$#ret]\n";
+                               return @ret if @ret >= $num;
                                
                                $state='header';
                                $message=$rev=$user=$when=undef;
@@ -640,6 +641,7 @@ sub cgi () {
        if ($do eq 'recentchanges') {
                my $list="<ul>\n";
                foreach my $change (rcs_recentchanges(100)) {
+                       print STDERR "change: $change....\n";
                        $list.="<li>";
                        foreach my $page (@{$change->{pages}}) {
                                $list.=$page." ";