Add geef_commit:tree()

This commit is contained in:
Carlos Martín Nieto
2013-02-17 21:35:25 +01:00
parent 134c052f71
commit b2e366027b
6 changed files with 39 additions and 3 deletions

View File

@@ -78,6 +78,10 @@ object_lookup(_Repo, _Oid) ->
commit_tree_id(_Handle) ->
nif_error(?LINE).
-spec commit_tree(term) -> term().
commit_tree(_Handle) ->
nif_error(?LINE).
nif_error(Line) ->
erlang:nif_error({nif_not_loaded,module,?MODULE,line,Line}).

View File

@@ -1,5 +1,5 @@
-module(geef_commit).
-export([tree_id/1]).
-export([tree_id/1, tree/1]).
-include("geef_records.hrl").
@@ -7,3 +7,11 @@
tree_id(#object{type=commit,handle=Handle}) ->
Oid = geef:commit_tree_id(Handle),
#oid{oid=Oid}.
tree(Obj = #object{type=commit,handle=Handle}) ->
case geef:commit_tree(Handle) of
{ok, Type, Handle} ->
{ok, #object{type=Type, handle=Handle}};
Other ->
Other
end.

View File

@@ -5,8 +5,8 @@
-export([lookup/2]).
-spec lookup(repo(), oid()) -> object().
lookup(#repo{handle=Repo}, #oid{oid=Oid}) ->
case geef:object_lookup(Repo, Oid) of
lookup(Repo = #repo{handle=RepoHandle}, #oid{oid=Oid}) ->
case geef:object_lookup(RepoHandle, Oid) of
{ok, Type, Handle} ->
{ok, #object{type=Type, handle=Handle}};
Other ->