diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2010-04-17 18:45:23 +0200 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-04-17 13:52:16 -0400 |
commit | 9ff5174f1164cb2d31ff487a9c84d08559b81d39 (patch) | |
tree | 3b9a56a18ff54b009c2df4d552d7cbf1fcc6617b | |
parent | a1aa71efc9d1db42b425f43afc1ff4a37c4c0f3a (diff) |
Fix get_ctime implementation in Bazaar plugin, add get_mtime implementation.
-rw-r--r-- | IkiWiki/Plugin/bzr.pm | 28 | ||||
-rwxr-xr-x | t/bazaar.t | 5 |
2 files changed, 23 insertions, 10 deletions
diff --git a/IkiWiki/Plugin/bzr.pm b/IkiWiki/Plugin/bzr.pm index f79ca7c8f..3712302ce 100644 --- a/IkiWiki/Plugin/bzr.pm +++ b/IkiWiki/Plugin/bzr.pm @@ -286,14 +286,8 @@ sub rcs_diff ($) { } } -sub rcs_getctime ($) { - 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 |"); - +sub extract_timestamp ($) { + my ($out) = @_; my @log = bzr_log($out); if (length @log < 1) { @@ -307,8 +301,24 @@ sub rcs_getctime ($) { return $ctime; } +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); +} + sub rcs_getmtime ($) { - error "rcs_getmtime is not implemented for bzr\n"; # TODO + 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); } 1 diff --git a/t/bazaar.t b/t/bazaar.t index 2ca44a65e..0bdd883d5 100755 --- a/t/bazaar.t +++ b/t/bazaar.t @@ -12,7 +12,7 @@ BEGIN { } } } -use Test::More tests => 16; +use Test::More tests => 17; BEGIN { use_ok("IkiWiki"); } @@ -60,6 +60,9 @@ is($changes[1]{pages}[0]{"page"}, "test1"); my $ctime = IkiWiki::rcs_getctime("test2.mdwn"); ok($ctime >= time() - 20); +my $mtime = IkiWiki::rcs_getmtime("test2.mdwn"); +ok($mtime >= time() - 20); + writefile('test3.mdwn', $config{srcdir}, $test1); IkiWiki::rcs_add("test3.mdwn"); IkiWiki::rcs_rename("test3.mdwn", "test4.mdwn"); |