|Git::Raw::Odb(3pm)||User Contributed Perl Documentation||Git::Raw::Odb(3pm)|
NAME¶Git::Raw::Odb - Git object database class
DESCRIPTION¶A Git::Raw::Odb represents a git object database.
WARNING: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).
new( )¶Create a new object database.
open( $directory )¶Create a new object database and automatically add the two default backends. $directory should be the path to the 'objects' directory.
backend_count( )¶Get the number of ODB backend objects.
refresh( )¶Refresh the object database to load newly added files. If the object databases have changed on disk while the library is running, this function will force a reload of the underlying indexes. Use this method when you're confident that an external application has tampered with the ODB.
foreach( $repo, $callback )¶Run $callback for every object available in the database. The callback receives a single argument, the OID of the object. A non-zero return value will terminate the loop.
add_backend( $backend, $priority )¶Add a custom backend to the ODB. The backends are checked in relative ordering, based on the value of $priority.
add_alternate( $backend, $priority )¶Add an alternate custom backend to the ODB. Alternate backends are always checked for objects after all the main backends have been exhausted. Writing is disabled on alternate backends.
read( $id )¶Read an object from the database. Returns a Git::Raw::Odb::Object or "undef" if the object does not exist.
write( $data, type )¶Write an object directly to the database. Returns the OID of the object. $type should be one of the values as defines in the constants section of Git::Raw::Object.
hash( $data, $type )¶Determine the object-ID (sha1 hash) of $data. $type should be one of the values as defined in the constants section of Git::Raw::Object.
AUTHOR¶Jacques Germishuys <email@example.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.