anchor.diff:      end.
   
   get_node(Name, Commit) ->
  -    wallaroo ! {get, node, Name, canonicalize_hash(Commit)}.
  +    gen_server:call(wallaroo,  {get, node, Name, canonicalize_hash(Commit)}).
   
   get_group(Name) ->
       case get_tag("current") of
  
positive.code:     end.
  
  get_group(Name, Commit) ->
      wallaroo ! {get, group, Name, canonicalize_hash(Commit)}.
  
  get_tag(Name) ->
      wallaroo ! {get_tag, Name}.
  
  put_tag(Name, C) ->
      Commit = canonicalize_hash(C),
      wallaroo ! {put_tag, Name, Commit}.
  
  put_group(Name, {wallaby_group, [_|_]}=Group) ->
      wallaroo ! {put, group, Name, Group}.
  
  put_node(Name, {wallaby_node, [_|_]}=Node) ->
      wallaroo ! {put, node, Name, Node}.
  
  put_group(Name, {wallaby_group, [_|_]}=Group, SC) ->
      C = canonicalize_hash(SC),
      wallaroo ! {put, group, Name, Group, C}.
  
  put_node(Name, {wallaby_node, [_|_]}=Node, SC) ->
      C = canonicalize_hash(SC),
      wallaroo ! {put, node, Name, Node, C}.
  
  
  %%% gen_server callbacks
  
negative.code: 
  
  get_path(What, Name, Tree, StoreMod) ->
      Path = [atom_to_list(What) ++ "s", Name],
      wallaroo_tree:get_path(Path, Tree, StoreMod).
  
  put_path(What, Name, Value, Tree, StoreMod, empty) ->
      Commit = wallaroo_commit:store(wallaroo_commit:empty(), StoreMod),
      put_path(What, Name, Value, Tree, StoreMod, Commit);
  put_path(What, Name, Value, Tree, StoreMod, ParentCommit) ->
      Path = [atom_to_list(What) ++ "s", Name],
      {NewTree, _} = wallaroo_tree:put_path(Path, Value, Tree, StoreMod),
      Commit = wallaroo_commit:new([ParentCommit], NewTree, [], []),
      wallaroo_commit:store(Commit, StoreMod).
  
  get_commit(SHA, StoreMod) ->
      Result = StoreMod:find_commit(SHA),
      error_logger:info_msg("wallaroo:get_commit/2 -> ~p ~n", [Result]),
      Result.
  
  