X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f92505d78b82c6ac146e43054ebd12441575a602..c924c76bd89d6d607b59c1d68ba32fae0fefc77a:/IkiWiki/Rcs/svn.pm diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm index f7d2242f0..6c15c2ca9 100644 --- a/IkiWiki/Rcs/svn.pm +++ b/IkiWiki/Rcs/svn.pm @@ -1,12 +1,12 @@ #!/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 @@ -134,6 +134,23 @@ sub rcs_add ($) { #{{{ } } #}}} +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; @@ -217,6 +234,11 @@ sub rcs_recentchanges ($) { #{{{ 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;