anchor.diff:      exec(Cmd, ["checkout", Co1]),
       ok = file:set_cwd(Cwd),
   
  +    put(DepName, cloned),
  +
       %% check dependencies of the dependency
       RebarFile = rebar_conf_file(dep_path(DepName)),
  -    do_clone_deps(deps(RebarFile)),
  -    do_clone_deps(T).
  +    do_clone_deps(deps(RebarFile)).
   
   erl_files(Dir) ->
       filelib:wildcard(filename:join([Dir, "*.erl"])).
  
positive.code:             EbinDir = ebin(dep_path(DepName)),
              IncDir = include(dep_path(DepName)),
              exec("mkdir", ["-p", EbinDir]),
              lists:foreach(compile_fun(SrcDir, EbinDir, IncDir), Files)
      end,
      compile_deps(T).
  
  %% add application directory (its ebin) and its dependencies to the code path
  update_path(Dir) ->
  
negative.code:     do_clone_deps(T);
  do_clone_deps([H|T]) ->
      {Name, Repo} = name_and_repo(H),
      {_, _, Co} = case Repo of
                       V={_, _, _} ->
                           V;
                       {_Cmd, _Url, _Co, _} ->
                           {_Cmd, _Url, _Co}
                   end,
      Co1 = checkout_to(Co),
      DepName = make_dep_name(Name, Co1),
      case get(DepName) of
          cloned ->
              ok;
          _ ->
              clone_dep(H)
      end,
      do_clone_deps(T).
  
  clone_dep(Dep) ->
      {Name, Repo} = name_and_repo(Dep),
      {Cmd, Url, Co} = case Repo of
                           V={_, _, _} ->
                               V;
  