* --getctime had bitrotted (well I only ever used it the once so far..),

fix and make it a bit more flexible
 * rcs_getctime is changed, now rather than needing to loop over all pages,
   it should just use the rcs to get the ctime of the passed file.
master
joey 2006-05-26 15:22:43 +00:00
parent 526044e1da
commit 361ec86696
3 changed files with 29 additions and 29 deletions

View File

@ -27,7 +27,7 @@ sub rcs_recentchanges ($) {
sub rcs_notify () { sub rcs_notify () {
} }
sub rcs_getctime () { sub rcs_getctime ($) {
error "getctime not implemented"; error "getctime not implemented";
} }

View File

@ -227,32 +227,31 @@ sub rcs_notify () { #{{{
} }
} #}}} } #}}}
sub rcs_getctime () { #{{{ sub rcs_getctime ($) { #{{{
my $file=shift;
eval q{use Date::Parse}; eval q{use Date::Parse};
foreach my $page (keys %pagectime) {
my $file="$config{srcdir}/$pagesources{$page}";
next unless -e $file;
my $child = open(SVNLOG, "-|");
if (! $child) {
exec("svn", "log", $file) || error("svn log $file failed to run");
}
my $date;
while (<SVNLOG>) {
if (/$svn_log_infoline/) {
$date=$3;
}
}
close SVNLOG || warn "svn log $file exited $?";
if (! defined $date) {
warn "failed to parse svn log for $file\n";
next;
}
$pagectime{$page}=$date=str2time($date); my $child = open(SVNLOG, "-|");
debug("found ctime ".localtime($date)." for $page"); if (! $child) {
exec("svn", "log", $file) || error("svn log $file failed to run");
} }
my $date;
while (<SVNLOG>) {
if (/$svn_log_infoline/) {
$date=$3;
}
}
close SVNLOG || warn "svn log $file exited $?";
if (! defined $date) {
warn "failed to parse svn log for $file\n";
return 0;
}
$date=str2time($date);
debug("found ctime ".localtime($date)." for $file");
return $date;
} #}}} } #}}}
1 1

View File

@ -181,12 +181,13 @@ These options configure the wiki.
Be vebose about what is being done. Be vebose about what is being done.
* --fixctime * --getctime
Pull last changed time for all pages out of the revision control system. Pull last changed time for each new page out of the revision control
This rarely used option provides a way to get the real creation times of system. This rarely used option provides a way to get the real creation
items in weblogs, for example when building a wiki from a new subversion times of items in weblogs, for example when building a wiki from a new
checkout. It is unoptimised and quite slow. subversion checkout. It is unoptimised and quite slow. It is best used
with --rebuild, to force ikiwiki to get the ctime for all pages.
# AUTHOR # AUTHOR