1 package Git
::IndexInfo
;
3 use warnings
$ENV{GIT_PERL_FATAL_WARNINGS
} ?
qw(FATAL all) : ();
4 use Git qw
/command_input_pipe command_close_pipe/;
8 my $hash_algo = Git
::config
('extensions.objectformat') || 'sha1';
9 my ($gui, $ctx) = command_input_pipe
(qw
/update-index -z --index-info/);
10 bless { gui
=> $gui, ctx
=> $ctx, nr
=> 0, hash_algo
=> $hash_algo}, $class;
14 my ($self, $path) = @_;
15 my $length = $self->{hash_algo
} eq 'sha256' ?
64 : 40;
16 if (print { $self->{gui
} } '0 ', 0 x
$length, "\t", $path, "\0") {
23 my ($self, $mode, $hash, $path) = @_;
24 if (print { $self->{gui
} } $mode, ' ', $hash, "\t", $path, "\0") {
32 command_close_pipe
($self->{gui
}, $self->{ctx
});