# 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
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");
$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;
}
else {
my $dir=$from."/";
$dir=~s![^/]+/$!!;
+
+ if ($page eq 'discussion') {
+ $best_loc="$from/$page";
+ }
+ else {
+ $best_loc=$dir.$page;
+ }
+
push @page_locs, $dir.$page;
push @page_locs, "$from/$page";
- $best_loc="$from/$page";
while (length $dir) {
$dir=~s![^/]+/$!!;
push @page_locs, $dir.$page;