Parametrize odb

This commit is contained in:
Carlos Martín Nieto
2013-01-21 12:02:11 +01:00
parent 1d2a016cd9
commit ff2b868526
4 changed files with 18 additions and 11 deletions

View File

@@ -3,7 +3,7 @@
{description, ""}, {description, ""},
{vsn, "0.0.1"}, {vsn, "0.0.1"},
{modules, [ {modules, [
geef, repository geef, repository, odb
]}, ]},
{registered, []}, {registered, []},
{applications, [ {applications, [

View File

@@ -1,7 +1,8 @@
-module(geef). -module(geef).
-export([hex_to_raw/1, repository/1, repository_get_path/1, repository_odb/1, -export([hex_to_raw/1, repository/1, repository_get_path/1, repository_get_odb/1,
odb_exists/2, repository_init/2, repository_is_bare/1, repository_get_workdir/1, reference_list/1, repository_init/2, repository_is_bare/1, repository_get_workdir/1, reference_list/1,
reference_to_id/2, reference_glob/2, reference_lookup/2, reference_resolve/1]). reference_to_id/2, reference_glob/2, reference_lookup/2, reference_resolve/1,
odb_object_exists/2]).
-on_load(load_enif/0). -on_load(load_enif/0).
hex_to_raw(_Val) -> hex_to_raw(_Val) ->
@@ -47,16 +48,9 @@ repository(Path) ->
other -> other other -> other
end. end.
repository_odb({repository, Handle}) ->
{ok, Odb} = repository_get_odb(Handle),
{ok, {odb, Odb}}.
odb_object_exists(_Val, _Val) -> odb_object_exists(_Val, _Val) ->
nif_error(?LINE). nif_error(?LINE).
odb_exists({odb, Handle}, Sha) ->
odb_object_exists(Handle, Sha).
nif_error(Line) -> nif_error(Line) ->
exit({nif_not_loaded,module,?MODULE,line,Line}). exit({nif_not_loaded,module,?MODULE,line,Line}).

5
src/odb.erl Normal file
View File

@@ -0,0 +1,5 @@
-module(odb, [Handle]).
-export([exists/1]).
exists(Sha) ->
geef:odb_object_exists(Handle, Sha).

View File

@@ -12,3 +12,11 @@ bare() ->
references() -> references() ->
geef:reference_list(Handle). geef:reference_list(Handle).
odb() ->
case geef:repository_get_odb(Handle) of
{ok, Odb} ->
odb:new(Odb);
other ->
other
end.