[Lxr-commits] CVS: lxr/lib/LXR/Files BK.pm,1.1.2.5,1.1.2.6
Brought to you by:
ajlittoz
From: Malcolm B. <mb...@us...> - 2005-02-14 00:45:35
|
Update of /cvsroot/lxr/lxr/lib/LXR/Files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16428/lib/LXR/Files Modified Files: Tag: bk-dev-branch BK.pm Log Message: Implement getfiletime() function. Does not implement it for directories yet Index: BK.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Files/Attic/BK.pm,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -u -d -r1.1.2.5 -r1.1.2.6 --- BK.pm 13 Feb 2005 23:55:36 -0000 1.1.2.5 +++ BK.pm 14 Feb 2005 00:45:22 -0000 1.1.2.6 @@ -82,8 +82,6 @@ return $fileh; } - - sub filerev { my ($self, $filename, $release) = @_; @@ -91,6 +89,26 @@ return sha1_hex($info->{'curpath'}.'-'.$info->{'revision'}); } +sub getfiletime { + my ($self, $pathname, $release) = @_; + + my $info = $self->getfileinfo($pathname, $release); + return undef if !defined $info; + + if(!defined($info->{'filetime'})) { + my $dir = getcwd(); + chdir($self->{'rootpath'}); + open (X, "bk prs -r$info->{'revision'} -h -d:UTC: $info->{'curpath'} |"); + my $time = <X>; # Should be a YYYYMMDDHHMMSS string + close X; + chdir($dir); + chomp $time; + my ($yr, $mth, $day, $hr, $min, $sec ) = $time =~ m/(....)(..)(..)(..)(..)(..)/; + $info->{'filetime'} = timegm($sec, $min, $hr, $day, $mth, $yr); + } + + return $info->{'filetime'}; +} sub isdir { my ($self, $pathname, $release) = @_; $self->fill_cache($release); |