* --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
parent
526044e1da
commit
361ec86696
|
@ -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";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue