Scroll to navigation

Git::Raw::Mempack(3pm) User Contributed Perl Documentation Git::Raw::Mempack(3pm)

NAME

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

VERSION

version 0.79

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

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.

AUTHOR

Jacques Germishuys <jacquesg@striata.com>

LICENSE AND COPYRIGHT

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.

2019-01-12 perl v5.28.1