diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-03-23 21:54:30 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-03-23 21:54:30 +0000 |
commit | 4f93b8e2b44a3d9e5455d3f369f6cad929faf899 (patch) | |
tree | 93e47cd5296556ac460024dfeaefc95f5c4cd96e | |
parent | 72e8ace28d921bb533a617c4b4078d0fb532fe98 (diff) |
preserve ctimes across rebuilds
-rw-r--r-- | IkiWiki/Render.pm | 4 | ||||
-rwxr-xr-x | ikiwiki | 14 |
2 files changed, 10 insertions, 8 deletions
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index b3dfc364d..f397ff320 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -288,11 +288,11 @@ sub refresh () { #{{{ foreach my $file (@files) { my $page=pagename($file); if (! $oldpagemtime{$page}) { - debug("new page $page"); + debug("new page $page") unless exists $pagectime{$page}; push @add, $file; $links{$page}=[]; $pagesources{$page}=$file; - $pagectime{$page}=time; + $pagectime{$page}=time unless exists $pagectime{$page}; } } my @del; @@ -325,12 +325,14 @@ sub loadindex () { #{{{ } my $page=pagename($items{src}[0]); - $pagesources{$page}=$items{src}[0]; - $oldpagemtime{$page}=$items{mtime}[0]; + if (! $config{rebuild}) { + $pagesources{$page}=$items{src}[0]; + $oldpagemtime{$page}=$items{mtime}[0]; + $oldlinks{$page}=[@{$items{link}}]; + $links{$page}=[@{$items{link}}]; + $renderedfiles{$page}=$items{dest}[0]; + } $pagectime{$page}=$items{ctime}[0]; - $oldlinks{$page}=[@{$items{link}}]; - $links{$page}=[@{$items{link}}]; - $renderedfiles{$page}=$items{dest}[0]; } close IN; } #}}} @@ -473,7 +475,7 @@ sub main () { #{{{ } else { lockwiki(); - loadindex() unless $config{rebuild}; + loadindex(); require IkiWiki::Render; rcs_update(); refresh(); |