Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

Git::Raw::Mempack - Git in-memory object database class

Author

       Jacques Germishuys <jacquesg@cpan.org>

Description

       A Git::Raw::Mempack represents a git in-memory object database.

Methods

new()
       Create a new mempack backend.

   dump($repo)
       Dump all the queued in-memory writes to a packfile. Returns the contents of the packfile. It is the
       caller's responsibility to ensure that the generated packfile is available to the repository.

   reset()
       Reset the mempack by clearing all the queued objects.

Name

       Git::Raw::Mempack - Git in-memory object database class

Synopsis

               use Git::Raw;

               my $mempack = Git::Raw::Mempack -> new;
               my $odb = $repo -> odb;
               $odb -> add_backend($mempack, 99);

               # Create blobs, trees and commits...

               # Index the packfile and persist
               my $odb_path = catfile($repo -> path, 'objects');
               my $tp = Git::Raw::TransferProgress -> new;
               my $indexer = Git::Raw::Indexer -> new($odb_path, $odb);

               my $pack = $mempack -> dump($repo);
               $indexer -> append($pack, $tp);
               $indexer -> commit($tp);

Version

       version 0.90

See Also