logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Git::Raw::Packbuilder - Git packbuilder class

Author

       Jacques Germishuys <jacquesg@cpan.org>

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.

Constants

ADDING_OBJECTS
       Objects are being added to the object database.

   DELTAFICATION
       Deltas are calculated/resolved.

Description

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

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".

Name

       Git::Raw::Packbuilder - Git packbuilder class

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'));

Version

       version 0.90

See Also