DOKK / manpages / debian 12 / libgit-raw-perl / Git::Raw::Mempack.3pm.en
Git::Raw::Mempack(3pm) User Contributed Perl Documentation Git::Raw::Mempack(3pm)

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

version 0.90

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

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

Create a new mempack backend.

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 the mempack by clearing all the queued objects.

Jacques Germishuys <jacquesg@cpan.org>

Copyright 2016 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.

2022-10-29 perl v5.36.0