object_api.c 3.34 KB
Newer Older
1 2 3 4 5 6 7 8 9
/*
 * Copyright (C) the libgit2 contributors. All rights reserved.
 *
 * This file is part of libgit2, distributed under the GNU GPL v2 with
 * a Linking Exception. For full terms see the included COPYING file.
 */

#include "common.h"

10 11 12
#include "git2/object.h"

#include "repository.h"
13 14 15 16 17 18
#include "commit.h"
#include "tree.h"
#include "blob.h"
#include "tag.h"

/**
19
 * Commit
20 21 22
 */
int git_commit_lookup(git_commit **out, git_repository *repo, const git_oid *id)
{
23
	return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_COMMIT);
24 25 26 27
}

int git_commit_lookup_prefix(git_commit **out, git_repository *repo, const git_oid *id, size_t len)
{
28
	return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_COMMIT);
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
}

void git_commit_free(git_commit *obj)
{
	git_object_free((git_object *)obj);
}

const git_oid *git_commit_id(const git_commit *obj)
{
	return git_object_id((const git_object *)obj);
}

git_repository *git_commit_owner(const git_commit *obj)
{
	return git_object_owner((const git_object *)obj);
}

46 47 48 49
int git_commit_dup(git_commit **out, git_commit *obj)
{
	return git_object_dup((git_object **)out, (git_object *)obj);
}
50 51 52 53 54 55

/**
 * Tree
 */
int git_tree_lookup(git_tree **out, git_repository *repo, const git_oid *id)
{
56
	return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_TREE);
57 58 59 60
}

int git_tree_lookup_prefix(git_tree **out, git_repository *repo, const git_oid *id, size_t len)
{
61
	return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_TREE);
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
}

void git_tree_free(git_tree *obj)
{
	git_object_free((git_object *)obj);
}

const git_oid *git_tree_id(const git_tree *obj)
{
	return git_object_id((const git_object *)obj);
}

git_repository *git_tree_owner(const git_tree *obj)
{
	return git_object_owner((const git_object *)obj);
}

79 80 81 82
int git_tree_dup(git_tree **out, git_tree *obj)
{
	return git_object_dup((git_object **)out, (git_object *)obj);
}
83 84 85 86 87 88

/**
 * Tag
 */
int git_tag_lookup(git_tag **out, git_repository *repo, const git_oid *id)
{
89
	return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_TAG);
90 91 92 93
}

int git_tag_lookup_prefix(git_tag **out, git_repository *repo, const git_oid *id, size_t len)
{
94
	return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_TAG);
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
}

void git_tag_free(git_tag *obj)
{
	git_object_free((git_object *)obj);
}

const git_oid *git_tag_id(const git_tag *obj)
{
	return git_object_id((const git_object *)obj);
}

git_repository *git_tag_owner(const git_tag *obj)
{
	return git_object_owner((const git_object *)obj);
}

112 113 114 115 116
int git_tag_dup(git_tag **out, git_tag *obj)
{
	return git_object_dup((git_object **)out, (git_object *)obj);
}

117 118 119 120 121
/**
 * Blob
 */
int git_blob_lookup(git_blob **out, git_repository *repo, const git_oid *id)
{
122
	return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_BLOB);
123 124 125 126
}

int git_blob_lookup_prefix(git_blob **out, git_repository *repo, const git_oid *id, size_t len)
{
127
	return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_BLOB);
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
}

void git_blob_free(git_blob *obj)
{
	git_object_free((git_object *)obj);
}

const git_oid *git_blob_id(const git_blob *obj)
{
	return git_object_id((const git_object *)obj);
}

git_repository *git_blob_owner(const git_blob *obj)
{
	return git_object_owner((const git_object *)obj);
}
144 145 146 147 148

int git_blob_dup(git_blob **out, git_blob *obj)
{
	return git_object_dup((git_object **)out, (git_object *)obj);
}