Cogit
view release on metacpan or search on metacpan
lib/Cogit.pm view on Meta::CPAN
$directory ||= $self->directory;
$tree ||= $self->master->tree;
confess("Missing tree") unless $tree;
for my $directory_entry (@{$tree->directory_entries}) {
my $filename = file($directory, $directory_entry->filename);
my $sha1 = $directory_entry->sha1;
my $mode = $directory_entry->mode;
my $object = $self->get_object($sha1);
if ($object->kind eq 'blob') {
$self->_add_file($filename, $object->content);
chmod(oct('0' . $mode), $filename)
|| die "Error chmoding $filename to $mode: $!";
} elsif ($object->kind eq 'tree') {
dir($filename)->mkpath;
$self->checkout($filename, $object);
} else {
die $object->kind;
}
}
}
sub clone {
( run in 0.303 second using v1.01-cache-2.11-cpan-8d75d55dd25 )