anchor.diff:              {Config1, Deps} = find_deps(Config, read, RawDeps),
   
               lists:flatten(Deps ++ [begin
  -                                       {true, AppDir} = get_deps_dir(Config1, Dep#dep.app),
  +                                       {true, AppDir} = get_deps_dir(
  +                                                          Config1, Dep#dep.app),
                                          collect_deps(AppDir, C)
                                      end || Dep <- Deps]);
           _ ->
  
positive.code: 
      lists:foldl(fun(Dep, {Config, Updated}) ->
                          {true, AppDir} = get_deps_dir(Config, Dep#dep.app),
                          Config2 = case has_vcs_dir(element(1, Dep#dep.source), AppDir) of
                              false ->
                                  %% If the dep did not exist (maybe it was added)
                                  %% clone it. We'll traverse ITS deps below. and
                                  %% clone them if needed.
                                  {C1, _D1} = use_source(Config, Dep),
                                  C1;
                              true ->
                                  Config
                          end,
                          ok = file:set_cwd(AppDir),
                          Config3 = rebar_config:new(Config2),
                          %% track where a dep comes from...
  
negative.code:             %% any other calls to preprocess() for update-deps beyond the
              %% toplevel directory. They aren't actually harmful, but they slow
              %% things down unnecessarily.
              NewConfig = lists:foldl(
                            fun(D, Acc) ->
                                    rebar_config:set_skip_dir(Acc, D#dep.dir)
                            end,
                            Config3,
                            collect_deps(rebar_utils:get_cwd(), Config3)),
              %% Return the empty list, as we don't want anything processed before
              %% us.
              {ok, NewConfig, []};
          _ ->
              %% If skip_deps=true, mark each dep dir as a skip_dir w/ the core
              %% so that the current command doesn't run on the dep dir.
              %% However, pre/postprocess WILL run (and we want it to) for
              %% transitivity purposes.
              %%
              %% Also, if skip_deps=comma,separated,app,list, then only the given
              %% dependencies are skipped.
              NewConfig =
                  case rebar_config:get_global(Config3, skip_deps, false) of
                      "true" ->
                          lists:foldl(
                            fun(#dep{dir = Dir}, C) ->
                                    rebar_config:set_skip_dir(C, Dir)
                            end, Config3, AvailableDeps);
                      Apps when is_list(Apps) ->
                          SkipApps = [list_to_atom(App) ||
                                         App <- string:tokens(Apps, ",")],
                          lists:foldl(
                            fun(#dep{dir = Dir, app = App}, C) ->
                                    case lists:member(App, SkipApps) of
                                        true -> rebar_config:set_skip_dir(C, Dir);
                                        false -> C
                                    end
                            end, Config3, AvailableDeps);
                      _ ->
                          Config3
                  end,
  
              %% Return all the available dep directories for process
              {ok, NewConfig, dep_dirs(NonRawAvailableDeps)}
  