From 2f9504a10d87f6950325dcea2d8a1f5a5d3eefe4 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 17 Apr 2010 13:55:32 -0400 Subject: [PATCH] bzr: changelog and refactor --- IkiWiki/Plugin/bzr.pm | 20 ++++++++------------ debian/changelog | 2 ++ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/IkiWiki/Plugin/bzr.pm b/IkiWiki/Plugin/bzr.pm index 3712302ce..e7c1b8d8e 100644 --- a/IkiWiki/Plugin/bzr.pm +++ b/IkiWiki/Plugin/bzr.pm @@ -286,8 +286,10 @@ sub rcs_diff ($) { } } -sub extract_timestamp ($) { - my ($out) = @_; +sub extract_timestamp (@) { + # XXX filename passes through the shell here, should try to avoid + # that just in case + open (my $out, "@_ |"); my @log = bzr_log($out); if (length @log < 1) { @@ -297,28 +299,22 @@ sub extract_timestamp ($) { eval q{use Date::Parse}; error($@) if $@; - my $ctime = str2time($log[0]->{"timestamp"}); - return $ctime; + my $time = str2time($log[0]->{"timestamp"}); + return $time; } sub rcs_getctime ($) { my ($file) = @_; - # XXX filename passes through the shell here, should try to avoid - # that just in case my @cmdline = ("bzr", "log", "--forward", "--limit", '1', "$config{srcdir}/$file"); - open (my $out, "@cmdline |"); - return extract_timestamp($out); + return extract_timestamp(@cmdline); } sub rcs_getmtime ($) { my ($file) = @_; - # XXX filename passes through the shell here, should try to avoid - # that just in case my @cmdline = ("bzr", "log", "--limit", '1', "$config{srcdir}/$file"); - open (my $out, "@cmdline |"); - return extract_timestamp($out); + return extract_timestamp(@cmdline); } 1 diff --git a/debian/changelog b/debian/changelog index 01d650290..b7ec99463 100644 --- a/debian/changelog +++ b/debian/changelog @@ -60,6 +60,8 @@ ikiwiki (3.20100415) UNRELEASED; urgency=low timestamps on basewiki files shipped in the deb are sane. * autoindex: Switch to using %wikistate instead of abusing $pagestate{index}. + * bzr: Support rcs_getmtime, and fix rcs_getctime implementation + (Jelmer Vernooij) -- Joey Hess Sun, 04 Apr 2010 12:17:11 -0400 -- 2.32.0.93.g670b81a890