X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/d1cef7a6ab70740fc74ff143b62a6a3570af75af..b7c86dda2f900dc991d1f6becda56ba3300cccce:/ikiwiki diff --git a/ikiwiki b/ikiwiki index 2130c4f78..167b9d43a 100755 --- a/ikiwiki +++ b/ikiwiki @@ -324,9 +324,10 @@ sub indexlink () { #{{{ return "$config{wikiname}"; } #}}} -sub finalize ($$) { #{{{ +sub finalize ($$$) { #{{{ my $content=shift; my $page=shift; + my $mtime=shift; my $title=basename($page); $title=~s/_/ /g; @@ -354,6 +355,7 @@ sub finalize ($$) { #{{{ content => $content, backlinks => [backlinks($page)], discussionlink => htmllink($page, "Discussion", 1, 1), + mtime => scalar(gmtime($mtime)), ); return $template->output; @@ -385,7 +387,8 @@ sub render ($) { #{{{ $content=linkify($content, $page); $content=htmlize($type, $content); - $content=finalize($content, $page); + $content=finalize($content, $page, + mtime("$config{srcdir}/$file")); check_overwrite("$config{destdir}/".htmlpage($page), $page); writefile("$config{destdir}/".htmlpage($page), $content); @@ -489,7 +492,7 @@ sub rcs_commit ($$$) { #{{{ # else since rcs_prepedit was called. my ($oldrev)=$rcstoken=~/^([0-9]+)$/; # untaint my $rev=svn_info("Revision", "$config{srcdir}/$file"); - if ($rev != $oldrev) { + if (defined $rev && defined $oldrev && $rev != $oldrev) { # Merge their changes into the file that we've # changed. chdir($config{srcdir}); # svn merge wants to be here @@ -501,7 +504,7 @@ sub rcs_commit ($$$) { #{{{ if (system("svn", "commit", "--quiet", "-m", possibly_foolish_untaint($message), - "$config{srcdir}/$file") != 0) { + "$config{srcdir}") != 0) { my $conflict=readfile("$config{srcdir}/$file"); if (system("svn", "revert", "--quiet", "$config{srcdir}/$file") != 0) { warn("svn revert failed\n"); @@ -567,7 +570,7 @@ sub rcs_recentchanges ($) { #{{{ $user=$2; $when=concise(ago(time - str2time($3))); } - elsif ($state eq 'header' && /^\s+[A-Z]\s+\Q$svn_base\E\/(.+)$/) { + elsif ($state eq 'header' && /^\s+[A-Z]\s+\Q$svn_base\E\/([^ ]+)(?:$|\s)/) { push @pages, { link => htmllink("", pagename($1), 1) } if length $1; }