Files
geef/src/geef_commit.erl
2013-06-06 11:14:57 +02:00

22 lines
573 B
Erlang

-module(geef_commit).
-export([tree_id/1, tree/1, lookup/2]).
-include("geef_records.hrl").
-spec tree_id(geef_object()) -> geef_oid().
tree_id(#geef_object{type=commit,handle=Handle}) ->
Oid = geef_nif:commit_tree_id(Handle),
#geef_oid{oid=Oid}.
tree(#geef_object{type=commit,handle=Handle}) ->
case geef_nif:commit_tree(Handle) of
{ok, Type, Handle} ->
{ok, #geef_object{type=Type, handle=Handle}};
Other ->
Other
end.
-spec lookup(pid(), geef_oid() | iolist()) -> geef_object().
lookup(Repo, Id) ->
geef_obj:lookup(Repo, Id, commit).