#!/usr/bin/perl
+package IkiWiki::Rcs::svn;
+
use warnings;
use strict;
use IkiWiki;
use POSIX qw(setlocale LC_CTYPE);
-package IkiWiki::Rcs::svn;
-
sub import { #{{{
if (exists $IkiWiki::config{svnpath}) {
# code depends on the path not having extraneous slashes
}
} #}}}
+sub rcs_remove ($) { #{{{
+ # filename is relative to the root of the srcdir
+ my $file=shift;
+
+ if (-d "$config{srcdir}/.svn") {
+ my $parent=dirname($file);
+ while (! -d "$config{srcdir}/$parent/.svn") {
+ $file=$parent;
+ $parent=dirname($file);
+ }
+
+ if (system("svn", "rm", "--force", "--quiet", "$config{srcdir}/$file") != 0) {
+ warn("svn rm failed\n");
+ }
+ }
+} #}}}
+
sub rcs_recentchanges ($) { #{{{
my $num=shift;
my @ret;
return @ret;
} #}}}
+sub rcs_diff ($) { #{{{
+ my $rev=possibly_foolish_untaint(int(shift));
+ return `svnlook diff $config{svnrepo} -r$rev --no-diff-deleted`;
+} #}}}
+
sub rcs_getctime ($) { #{{{
my $file=shift;