anchor.diff:          _ -> Default
       end.
   
  -check_libdirs([], _) ->
  +subdirs(_, [], _) ->
       ok;
  -check_libdirs([H|T], Fun) ->
  -    Dir = filename:absname(H),
  -    Conf = rebar_conf_file(Dir),
  -    check_libdirs(get_value(sub_dirs, Conf, []), Fun),
  -    Fun(get_value(deps, Conf, [])),
  -    check_libdirs(T, Fun).
  -
  -%% schema_to_git(X) ->
  +subdirs(Cwd, [H|T], Fun) ->
  +    Dir = filename:join([Cwd, H]),
  +    Conf = consult(rebar_conf_file(Dir)),
  +    subdirs(Dir, get_value(sub_dirs, Conf, []), Fun),
  +    Fun(Dir),
  +    subdirs(Cwd, T, Fun).
  +
  +%% libdirs(_, [], _) ->
  +%%     ok;
  +%% libdirs(Cwd, [H|T], Fun) ->
  +%%     Dir = filename:join([Cwd, H]),
  +%%     Conf = consult(rebar_conf_file(Dir)),
  +%%     libdirs(Dir, get_value(lib_dirs, Conf, []), Fun),
  +%%     Fun(Dir),
  +%%     subdirs(Cwd, T, Fun).
  +
  +%% add_to_path(Dir) ->
  +%%     code:add_path(ebin(Dir)).
  +
  +%% https_to_git(X) ->
   %%     re:replace(X, "https://", "git://", [{return, list}]).
   
  -%% schema_to_https(X) ->
  +%% git_to_https(X) ->
   %%     re:replace(X, "git://", "https://", [{return, list}]).
  
positive.code:             ok;
          Deps ->
              exec("mkdir", ["-p", ?DEPS_PATH]),
              LibDirs = get_value(lib_dirs, Conf, []),
              %% check sub_dirs if they have something to be cloned
              check_libdirs(LibDirs, fun do_clone_deps/1),
              do_clone_deps(Deps)
      end.
  
  %% compile dependencies and the app
  compile(Dir) ->
      RebarFile = rebar_conf_file(Dir),
      Conf = consult(RebarFile),
      %% check sub_dirs if they have something to be compiled
      check_libdirs(get_value(lib_dirs, Conf, []), fun compile_deps/1),
      check_libdirs(get_value(lib_dirs, Conf, []), fun compile_app/1),
      compile_deps(get_value(deps, Conf, [])),
      compile_app(Dir).
  
  %% compile a project according to the conventions
  compile_app(Dir) ->
      AbsDir = filename:absname(Dir),
      SrcDir = src(AbsDir),
      case erl_files(SrcDir) of
          [] ->
              ok;
          Files ->
  
negative.code: 
  deps_path([], Acc) ->
      Acc;
  deps_path([H|T], Acc) when is_tuple(H) =:= false ->
      deps_path(T, Acc);
  deps_path([H|T], Acc) ->
      {Name, Repo} = name_and_repo(H),
      Co = case Repo of
               {_, _, V} ->
                   V;
               {_, _, V, _} ->
                   V
           end,
      %% branch/tag it should checkout to
      Co1 = checkout_to(Co),
      Name1 = make_dep_name(Name, Co1),
      RebarFile = rebar_conf_file(dep_path(Name1)),
      Conf = consult(RebarFile),
      Deps = get_value(deps, Conf, []),
      Acc1 = deps_path(Deps, []),
      deps_path(T, [dep_path(Name1)|Acc ++ Acc1]).
  
  deps_ebin(Deps) ->
      deps_ebin(deps_path(Deps), []).
  