anchor.diff:  
   
   git_cmd(Repo, Cmd) ->
  -  git_cmd("git --git-dir="++Repo++" "++Cmd).
  +  git_cmd(["--git-dir=" ++ Repo | Cmd]).
   
   get_data(Port) ->
     receive
  
positive.code: 
  
  show(Repo, Path) ->
    Reply = git_cmd(Repo, "show master:"++Path),
    Reply.
  
  
  add(Repo, Path) ->
    git_cmd(Repo, "add "++Path).
  
  commit(Repo, Options) ->
    Cmd = "commit " ++ case proplists:get_value(message, Options) of
      undefined -> "";
      Msg -> "-m "++Msg++" "
    end ++ case proplists:get_value(author, Options) of
      undefined -> "";
      Auth -> "--author="++Auth++" "
    end,
    git_cmd(Repo, Cmd).
  
  
negative.code: 
  
  tree(Repo) ->
    Reply = git_cmd(Repo, ["ls-tree", "--full-tree", "-r", "HEAD"]),
    Rows1 = binary:split(Reply, <<"\n">>, [global]),
    Rows2 = [case re:run(Row, "^\\d+ (\\w+) (\\w+)\t(.+)$", [{capture,all_but_first,list}]) of
      {match, [Type, SHA1, Path]} -> {Type, SHA1, Path};
  