/usr/local/CPAN/VCS-Hms/VCS/Hms/Dir.pm
package VCS::Hms::Dir;
use VCS::Dir;
@ISA = qw(VCS::Hms VCS::Dir);
use strict;
use Carp;
sub new {
my($class, $url) = @_;
my $self = $class->init($url);
my $path = $self->path;
die "$class->new: $path not an HMS directory: $!\n"
if system("fls $path >/dev/null") != 0;
$self;
}
sub content {
my $self = shift;
my @result;
foreach (split "\n",`fll -l $self->{NAME}`) {
my ($mode,$lock,$size,$month,$date,$h_y,$name,$locked_rev) =
split /\s+/;
my $new_class = ($mode =~ /^d/) ? 'VCS::Hms::Dir' : 'VCS::Hms::File';
push @result, $new_class->new($self->url . $name);
}
return @result;
}
1;