Git::Raw::Mempack - Git in-memory object database class
Contents
Description
A Git::Raw::Mempack represents a git in-memory object database.
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.
perl v5.40.1 2025-02-22 Git::Raw::Mempack(3pm)
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
