* --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_getctime () {
sub rcs_getctime ($) {
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};
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);
debug("found ctime ".localtime($date)." for $page");
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";
return 0;
}
$date=str2time($date);
debug("found ctime ".localtime($date)." for $file");
return $date;
} #}}}
1

View File

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