Commit 46f8566a by Vicent Marti

Add methods to access internal attributes in git_repo

Added several methods to access:

	- The ODB behind a repo
	- The SHA1 id behind a generic repo object
	- The type of a generic repo object

Signed-off-by: Vicent Marti <tanoku@gmail.com>
parent 370ce569
......@@ -49,6 +49,29 @@ GIT_EXTERN(git_repository *) git_repository_alloc(git_odb *odb);
*/
GIT_EXTERN(git_repository_object *) git_repository_lookup(git_repository *repo, const git_oid *id, git_otype type);
/**
* Get the object database behind a Git repository
*
* @param repo a repository object
* @return a pointer to the object db
*/
GIT_EXTERN(git_odb *) git_repository_database(git_repository *repo);
/**
* Get the id (SHA1) of a repository object
*
* @param obj the repository object
* @return the SHA1 id
*/
const git_oid *git_repository_object_id(git_repository_object *obj);
/**
* Get the object type of an object
*
* @param obj the repository object
* @return the object's type
*/
git_otype git_repository_object_type(git_repository_object *obj);
/**
* Free a reference to one of the objects in the repostory.
......
......@@ -138,6 +138,24 @@ void git_repository_object_free(git_repository_object *object)
}
}
git_odb *git_repository_database(git_repository *repo)
{
assert(repo);
return repo->db;
}
const git_oid *git_repository_object_id(git_repository_object *obj)
{
assert(obj);
return &obj->id;
}
git_otype git_repository_object_type(git_repository_object *obj)
{
assert(obj);
return obj->dbo.type;
}
git_repository_object *git_repository_lookup(git_repository *repo, const git_oid *id, git_otype type)
{
static const size_t object_sizes[] = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment