X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/71b33c979f97725cabb7923c618b016e4d6e35a3..644f78660c21302e0fa82c36fb6425d12d2b872a:/ikiwiki diff --git a/ikiwiki b/ikiwiki index a9f76d3fe..6ff0b1e8a 100755 --- a/ikiwiki +++ b/ikiwiki @@ -350,11 +350,17 @@ sub rcs_commit ($) { } } -sub rcs_ad ($) { +sub rcs_add ($) { my $file=shift; if (-d "$srcdir/.svn") { - if (system("svn", "add", "--quiet", $file) != 0) { + my $parent=dirname($file); + while (! -d "$srcdir/$parent/.svn") { + $file=$parent; + $parent=dirname($file); + } + + if (system("svn", "add", "--quiet", "$srcdir/$file") != 0) { warn("svn add failed\n"); } } @@ -597,7 +603,6 @@ sub cgi () { } my @page_locs; - my $default_loc=""; my ($from)=$q->param('from')=~/$wiki_file_regexp/; if (! defined $from || ! length $from || $from ne $q->param('from') || @@ -605,14 +610,14 @@ sub cgi () { @page_locs=$page; } else { - @page_locs="$from/$page"; - $from=dirname($from); - $default_loc="$from/$page"; - while (length $from) { - push @page_locs, "$from/$page"; - $from=dirname($from); + my $dir=$from."/"; + $dir=~s![^/]+/$!!; + push @page_locs, $dir.$page; + push @page_locs, "$from/$page"; + while (length $dir) { + $dir=~s![^/]+/$!!; + push @page_locs, $dir.$page; } - push @page_locs, $page; } $q->param("do", "save"); @@ -621,8 +626,8 @@ sub cgi () { $q->h1("$wikiname: Creating $page"), $q->start_form(-action => $action), $q->hidden('do'), - "Select page location: ($default_loc)", - $q->popup_menu('page', \@page_locs, $default_loc), + "Select page location:", + $q->popup_menu('page', \@page_locs), $q->textarea(-name => 'content', -default => "", -rows => 20,