Security Advisories (2)
CVE-2014-9390 (2020-02-12)

Git before 1.8.5.6, 1.9.x before 1.9.5, 2.0.x before 2.0.5, 2.1.x before 2.1.4, and 2.2.x before 2.2.1 on Windows and OS X; Mercurial before 3.2.3 on Windows and OS X; Apple Xcode before 6.2 beta 3; mine all versions before 08-12-2014; libgit2 all versions up to 0.21.2; Egit all versions before 08-12-2014; and JGit all versions before 08-12-2014 allow remote Git servers to execute arbitrary commands via a tree containing a crafted .git/config file with (1) an ignorable Unicode codepoint, (2) a git~1/config representation, or (3) mixed case that is improperly handled on a case-insensitive filesystem.

CVE-2018-25032 (2022-03-25)

zlib before 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches.

NAME

Git::Raw::Packbuilder - Git packbuilder class

VERSION

version 0.76

SYNOPSIS

use File::Spec::Functions qw(catfile);
use Git::Raw;

my $pb = Git::Raw::Packbuilder -> new($repo);
$pb -> insert($commit);
$pb -> write(catfile($repo -> path, 'objects', 'pack'));

DESCRIPTION

A Git::Raw::Packbuilder represents a git packfile builder.

CONSTANTS

ADDING_OBJECTS

Objects are being added to the object database.

DELTAFICATION

Deltas are calculated/resolved.

METHODS

new( $repo )

Create a new packbuilder.

insert( $object, [$recursive = 1] )

Insert an object and by default its referenced objects. $object may be a Git::Raw::Commit, Git::Raw::Tree, Git::Raw::Blob or Git::Raw::Walker.

write( $path )

Write the new pack and corresponding index file to $path.

written( )

Retrieve the number of objects the packbuilder has already written out.

object_count( )

Retrieve the total number of objects the packbuilder will write out.

threads( $count )

Set number of threads to spawn. By default libgit2 won't spawn any threads at all; when set to 0, libgit2 will autodetect the number of CPUs.

hash( )

Get the packfile's hash. A packfile's name is derived from the sorted hashing of all object names. This is only correct after the packfile has been written.

callbacks( \%callbacks )

Set the callbacks for the packbuilder. See CALLBACKS.

CALLBACKS

pack_progress

During the packing of new data, this will regularly be called with the progress of the pack operation. Be aware that this is called inline with pack building operations, so performance may be affected. The callback receives the following integers: $stage, $current and $total.

transfer_progress

This will be regularly called with the current count of progress done by the indexer. The callback receives the following integers: $total_objects, $received_objects, $local_objects, $total_deltas, $indexed_deltas and $received_bytes.

AUTHOR

Jacques Germishuys <jacquesg@striata.com>

LICENSE AND COPYRIGHT

Copyright 2015 Jacques Germishuys.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.