Ejemplo n.º 1
0
void git_object__source_close(git_object *object)
{
	assert(object);

	if (object->source.open) {
		git_obj_close(&object->source.raw);
		object->source.open = 0;
	}
}
Ejemplo n.º 2
0
int git_commit_parse_existing(git_commit *commit)
{
	int error = 0;
	git_obj commit_obj;

	if (commit->parsed)
		return 0;

	error = git_odb_read(&commit_obj, commit->object.pool->db, &commit->object.id);
	if (error < 0)
		return error;

	if (commit_obj.type != GIT_OBJ_COMMIT) {
		error = GIT_EOBJTYPE;
		goto cleanup;
	}

	error = git_commit__parse_buffer(commit, commit_obj.data, commit_obj.len);

cleanup:
	git_obj_close(&commit_obj);
	return error;
}