logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git 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