]> git.ipfire.org Git - thirdparty/git.git/blobdiff - perl/Git/IndexInfo.pm
Merge branch 'bc/sha-256-cvs-svn-updates'
[thirdparty/git.git] / perl / Git / IndexInfo.pm
index a43108c985440db24688d7b053b94d428e6dd1bb..2a7b4908f3e637d3e93462799c91cd75a8221354 100644 (file)
@@ -5,13 +5,15 @@ use Git qw/command_input_pipe command_close_pipe/;
 
 sub new {
        my ($class) = @_;
+       my $hash_algo = Git::config('extensions.objectformat') || 'sha1';
        my ($gui, $ctx) = command_input_pipe(qw/update-index -z --index-info/);
-       bless { gui => $gui, ctx => $ctx, nr => 0}, $class;
+       bless { gui => $gui, ctx => $ctx, nr => 0, hash_algo => $hash_algo}, $class;
 }
 
 sub remove {
        my ($self, $path) = @_;
-       if (print { $self->{gui} } '0 ', 0 x 40, "\t", $path, "\0") {
+       my $length = $self->{hash_algo} eq 'sha256' ? 64 : 40;
+       if (print { $self->{gui} } '0 ', 0 x $length, "\t", $path, "\0") {
                return ++$self->{nr};
        }
        undef;