summaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Plugin/bzr.pm5
-rw-r--r--IkiWiki/Plugin/cvs.pm5
-rw-r--r--IkiWiki/Plugin/darcs.pm5
-rw-r--r--IkiWiki/Plugin/git.pm5
-rw-r--r--IkiWiki/Plugin/mercurial.pm5
-rw-r--r--IkiWiki/Plugin/monotone.pm5
-rw-r--r--IkiWiki/Plugin/norcs.pm7
-rw-r--r--IkiWiki/Plugin/svn.pm5
-rw-r--r--IkiWiki/Plugin/tla.pm5
-rw-r--r--IkiWiki/Render.pm18
10 files changed, 61 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/bzr.pm b/IkiWiki/Plugin/bzr.pm
index 0efc26b49..f79ca7c8f 100644
--- a/IkiWiki/Plugin/bzr.pm
+++ b/IkiWiki/Plugin/bzr.pm
@@ -20,6 +20,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
sub checkconfig () {
@@ -306,4 +307,8 @@ sub rcs_getctime ($) {
return $ctime;
}
+sub rcs_getmtime ($) {
+ error "rcs_getmtime is not implemented for bzr\n"; # TODO
+}
+
1
diff --git a/IkiWiki/Plugin/cvs.pm b/IkiWiki/Plugin/cvs.pm
index 26a3e9dd2..360d97249 100644
--- a/IkiWiki/Plugin/cvs.pm
+++ b/IkiWiki/Plugin/cvs.pm
@@ -49,6 +49,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
sub genwrapper () {
@@ -485,4 +486,8 @@ sub rcs_getctime ($) {
return $date;
}
+sub rcs_getmtime ($) {
+ error "rcs_getmtime is not implemented for cvs\n"; # TODO
+}
+
1
diff --git a/IkiWiki/Plugin/darcs.pm b/IkiWiki/Plugin/darcs.pm
index bc8394b90..c1d6661d3 100644
--- a/IkiWiki/Plugin/darcs.pm
+++ b/IkiWiki/Plugin/darcs.pm
@@ -18,6 +18,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
sub silentsystem (@) {
@@ -427,4 +428,8 @@ sub rcs_getctime ($) {
return $date;
}
+sub rcs_getmtime ($) {
+ error "rcs_getmtime is not implemented for darcs\n"; # TODO
+}
+
1
diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm
index b02f4a5ed..86d80186f 100644
--- a/IkiWiki/Plugin/git.pm
+++ b/IkiWiki/Plugin/git.pm
@@ -25,6 +25,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
hook(type => "rcs", id => "rcs_receive", call => \&rcs_receive);
}
@@ -634,6 +635,10 @@ sub rcs_getctime ($) {
return $ctime;
}
+sub rcs_getmtime ($) {
+ error "rcs_getmtime is not implemented for git\n"; # TODO
+}
+
sub rcs_receive () {
# The wiki may not be the only thing in the git repo.
# Determine if it is in a subdirectory by examining the srcdir,
diff --git a/IkiWiki/Plugin/mercurial.pm b/IkiWiki/Plugin/mercurial.pm
index ea00a3364..34e009c7a 100644
--- a/IkiWiki/Plugin/mercurial.pm
+++ b/IkiWiki/Plugin/mercurial.pm
@@ -20,6 +20,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
sub checkconfig () {
@@ -254,4 +255,8 @@ sub rcs_getctime ($) {
return $ctime;
}
+sub rcs_getmtime ($) {
+ error "rcs_getmtime is not implemented for mercurial\n"; # TODO
+}
+
1
diff --git a/IkiWiki/Plugin/monotone.pm b/IkiWiki/Plugin/monotone.pm
index c33cf7e3a..67d4abbaa 100644
--- a/IkiWiki/Plugin/monotone.pm
+++ b/IkiWiki/Plugin/monotone.pm
@@ -23,6 +23,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
sub checkconfig () {
@@ -693,4 +694,8 @@ sub rcs_getctime ($) {
return $date;
}
+sub rcs_getmtime ($) {
+ error "rcs_getmtime is not implemented for monotone\n"; # TODO
+}
+
1
diff --git a/IkiWiki/Plugin/norcs.pm b/IkiWiki/Plugin/norcs.pm
index e6a05a3c5..053652a5f 100644
--- a/IkiWiki/Plugin/norcs.pm
+++ b/IkiWiki/Plugin/norcs.pm
@@ -18,6 +18,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
sub getsetup () {
@@ -63,7 +64,11 @@ sub rcs_diff ($) {
}
sub rcs_getctime ($) {
- error gettext("getctime not implemented");
+ return 0;
+}
+
+sub rcs_getmtime ($) {
+ return 0;
}
1
diff --git a/IkiWiki/Plugin/svn.pm b/IkiWiki/Plugin/svn.pm
index 7d27ec842..85c205f09 100644
--- a/IkiWiki/Plugin/svn.pm
+++ b/IkiWiki/Plugin/svn.pm
@@ -19,6 +19,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
sub checkconfig () {
@@ -379,4 +380,8 @@ sub rcs_getctime ($) {
return $date;
}
+sub rcs_getmtime ($) {
+ error "rcs_getmtime is not implemented for svn\n"; # TODO
+}
+
1
diff --git a/IkiWiki/Plugin/tla.pm b/IkiWiki/Plugin/tla.pm
index 764da9b98..f5ad0cc96 100644
--- a/IkiWiki/Plugin/tla.pm
+++ b/IkiWiki/Plugin/tla.pm
@@ -18,6 +18,7 @@ sub import {
hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
+ hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
sub checkconfig () {
@@ -284,4 +285,8 @@ sub rcs_getctime ($) {
return $date;
}
+sub rcs_getmtime ($) {
+ error "rcs_getmtime is not implemented for tla\n"; # TODO
+}
+
1
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
index e98888d76..e1cb68462 100644
--- a/IkiWiki/Render.pm
+++ b/IkiWiki/Render.pm
@@ -365,14 +365,26 @@ sub find_new_files ($) {
}
else {
push @new, $file;
- if ($config{getctime} && -e "$config{srcdir}/$file") {
+ if ($config{gettime} && -e "$config{srcdir}/$file") {
eval {
- my $time=rcs_getctime("$config{srcdir}/$file");
- $pagectime{$page}=$time;
+ my $ctime=rcs_getctime("$config{srcdir}/$file");
+ if ($ctime > 0) {
+ $pagectime{$page}=$ctime;
+ }
};
if ($@) {
print STDERR $@;
}
+ my $mtime;
+ eval {
+ my $mtime=rcs_getmtime("$config{srcdir}/$file");
+ };
+ if ($@) {
+ print STDERR $@;
+ }
+ elsif ($mtime > 0) {
+ utime($mtime, $mtime, "$config{srcdir}/$file");
+ }
}
}
$pagecase{lc $page}=$page;