diff --git a/src/geef_odb.erl b/src/geef_odb.erl new file mode 100644 index 0000000..4d80c64 --- /dev/null +++ b/src/geef_odb.erl @@ -0,0 +1,7 @@ +-module(geef_odb). +-export([exists/2]). + +-include("geef_records.hlr"). + +exists(#odb{handle=Handle}, Sha) -> + geef:odb_object_exists(Handle, Sha). diff --git a/src/geef_records.hlr b/src/geef_records.hlr new file mode 100644 index 0000000..e7ba6ba --- /dev/null +++ b/src/geef_records.hlr @@ -0,0 +1,3 @@ +-record(ref, {handle}). +-record(repo, {handle}). +-record(odb, {handle}). diff --git a/src/geef_ref.erl b/src/geef_ref.erl new file mode 100644 index 0000000..7389277 --- /dev/null +++ b/src/geef_ref.erl @@ -0,0 +1,17 @@ +-module(geef_ref). + +-export([resolve/1, id/1]). + +-include("geef_records.hlr"). + +resolve(#ref{handle=Handle}) -> + case geef:reference_resolve(Handle) of + {ok, Ref} -> + {ok, #ref{handle=Handle}}; + Other -> + Other + end. + +-spec id(term()) -> binary(). +id(#ref{handle=Handle}) -> + geef:reference_id(Handle). diff --git a/src/geef_repo.erl b/src/geef_repo.erl index 2f7deeb..d903dcc 100644 --- a/src/geef_repo.erl +++ b/src/geef_repo.erl @@ -2,7 +2,7 @@ -export([open/1, init/2, path/1, workdir/1, is_bare/1, references/1]). --record(repo, {handle}). +-include("geef_records.hlr"). path(#repo{handle=Handle}) -> geef:repository_get_path(Handle). diff --git a/src/reference.erl b/src/reference.erl deleted file mode 100644 index 642c328..0000000 --- a/src/reference.erl +++ /dev/null @@ -1,18 +0,0 @@ --module(reference, [Handle]). --export([resolve/0, id/0, type/0]). - -resolve() -> - case geef:reference_resolve(Handle) of - {ok, Ref} -> - reference:new(Ref); - Other -> - Other - end. - --spec id() -> binary(). -id() -> - geef:reference_id(Handle). - --spec type() -> oid | symbolic | error. -type() -> - geef:reference_type(Handle).