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::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