Files
geef/src/geef_repo.erl
2013-01-29 01:46:11 +01:00

40 lines
955 B
Erlang

-module(geef_repo).
-export([open/1, init/2, path/1, workdir/1, is_bare/1, references/1]).
-include("geef_records.hrl").
-spec path(repo()) -> binary().
path(#repo{handle=Handle}) ->
geef:repository_get_path(Handle).
-spec workdir(repo()) -> binary().
workdir(#repo{handle=Handle}) ->
geef:repository_get_workdir(Handle).
-spec is_bare(repo()) -> boolean().
is_bare(#repo{handle=Handle}) ->
geef:repository_is_bare(Handle).
-spec references(repo()) -> [binary()].
references(#repo{handle=Handle}) ->
geef:reference_list(Handle).
-spec open(iolist()) -> {ok, repo()} | {error, term()}.
open(Path) ->
case geef:repository_open(Path) of
{ok, Handle} ->
{ok, #repo{handle=Handle}};
Other ->
Other
end.
-spec init(iolist(), boolean()) -> {ok, repo()} | {error, term()}.
init(Path, Bare) ->
case geef:repository_init(Path, Bare) of
{ok, Handle} ->
{ok, #repo{handle=Handle}};
Other ->
Other
end.