Git::Raw::Mempack(3pm)

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

VERSION
version 0.90

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@cpan.org>

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.