logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Git::Raw::Odb - Git object database class

Author

       Jacques Germishuys <jacquesg@cpan.org>

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

Methods

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.

Name

       Git::Raw::Odb - Git object database class

Version

       version 0.90

See Also