/usr/share/perl5/Git/PurePerl/Object/Tree.pm is in libgit-pureperl-perl 0.50-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | package Git::PurePerl::Object::Tree;
use Moose;
use MooseX::StrictConstructor;
use Moose::Util::TypeConstraints;
use namespace::autoclean;
extends 'Git::PurePerl::Object';
has 'kind' =>
( is => 'ro', isa => 'ObjectKind', required => 1, default => 'tree' );
has 'directory_entries' => (
is => 'rw',
isa => 'ArrayRef[Git::PurePerl::DirectoryEntry]',
required => 0,
auto_deref => 1,
);
sub BUILD {
my $self = shift;
my $content = $self->content;
return unless $content;
my @directory_entries;
while ($content) {
my $space_index = index( $content, ' ' );
my $mode = substr( $content, 0, $space_index );
$content = substr( $content, $space_index + 1 );
my $null_index = index( $content, "\0" );
my $filename = substr( $content, 0, $null_index );
$content = substr( $content, $null_index + 1 );
my $sha1 = unpack( 'H*', substr( $content, 0, 20 ) );
$content = substr( $content, 20 );
push @directory_entries,
Git::PurePerl::DirectoryEntry->new(
mode => $mode,
filename => $filename,
sha1 => $sha1,
git => $self->git,
);
}
$self->directory_entries( \@directory_entries );
}
__PACKAGE__->meta->make_immutable;
|