anchor.diff:  -behaviour(gen_server).
   
   %% API
  --export([start_link/1, get_user_permissions/1
  +-export([start_link/1, start/1, stop/0
  +        ,get_user_permissions/1
           ,add_user/2, remove_user/1, get_users/0
           ,add_repo/2, remove_repo/1, get_repos/0]).
   
  
positive.code: %%--------------------------------------------------------------------
  init({RepoList, ACL}) ->
      %% Note: Don't create tables anymore, once Mnesia persistence is configured
      {atomic, ok} = mnesia:create_table(repo, [{ram_copies, [node() | nodes()]}
                                               ,{type, set}
                                               ,{attributes, record_info(fields, repo)}]),
      mnesia:wait_for_tables([repo], 10000),
      priv_populate_repos(RepoList),
      lager:info("Repository list initialized."),
  
      {atomic, ok} = mnesia:create_table(acl, [{ram_copies, [node() | nodes()]}
                                              ,{type, set}
                                              ,{attributes, record_info(fields, acl)}]),
      mnesia:wait_for_tables([acl], 10000),
      priv_populate_acl(ACL),
      lager:info("Access control list initialized."),
  
  
negative.code:     {atomic, Result} = mnesia:transaction(T),
      Result.
  
  -spec priv_populate_repos([{binary(), binary()}]) -> [true].
  priv_populate_repos(RepoList) ->
      T = fun() ->
  