anchor.diff:  %%--------------------------------------------------------------------
   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),
  +    mnesia:create_table(repo, [{ram_copies, [node() | nodes()]}
  +                              ,{type, set}
  +                              ,{attributes, record_info(fields, repo)}]),
  +    ok = 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),
  +    mnesia:create_table(acl, [{ram_copies, [node() | nodes()]}
  +                             ,{type, set}
  +                             ,{attributes, record_info(fields, acl)}]),
  +    ok = mnesia:wait_for_tables([acl], 10000),
       priv_populate_acl(ACL),
       lager:info("Access control list initialized."),
   
  
positive.code:     {atomic, Result} = mnesia:transaction(T),
      Result.
  
  %% has side-effects. Will fill the ETS table 'repos'
  -spec priv_populate_repos([{binary(), binary()}]) -> [true].
  priv_populate_repos(RepoList) ->
      T = fun() ->
  
negative.code: -behaviour(gen_server).
  
  %% API
  -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]).
  
  