X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/5604901eac5b26f0417276371efbea06d3613799..1dac1cfc01d097711206320b7910cb296ae8c246:/ikiwiki diff --git a/ikiwiki b/ikiwiki index 38dae8f24..d1a31eb55 100755 --- a/ikiwiki +++ b/ikiwiki @@ -489,7 +489,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 +501,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 +567,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; } @@ -1131,8 +1131,15 @@ sub cgi_editpage ($$) { #{{{ else { my $dir=$from."/"; $dir=~s![^/]+/$!!; + + if ($page eq 'discussion') { + $best_loc="$from/$page"; + } + else { + $best_loc=$dir.$page; + } + push @page_locs, $dir.$page; - $best_loc=$dir.$page; push @page_locs, "$from/$page"; while (length $dir) { $dir=~s![^/]+/$!!;