Fix get_ctime implementation in Bazaar plugin, add get_mtime implementation.

master
Jelmer Vernooij 2010-04-17 18:45:23 +02:00 committed by Joey Hess
parent a1aa71efc9
commit 9ff5174f11
2 changed files with 23 additions and 10 deletions

View File

@ -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

View File

@ -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");