anchor.diff:              %% 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)),
  +            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.
  +            %% 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,
  +            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)}
  
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:     ShOpts = [{cd, AppDir}],
      rebar_utils:sh("git fetch origin", ShOpts),
      rebar_utils:sh(?FMT("git checkout -q ~s", [Branch]), ShOpts),
      rebar_utils:sh(
        ?FMT("git pull --ff-only --no-rebase -q origin ~s", [Branch]),ShOpts);
  update_source1(AppDir, {git, _Url, {tag, Tag}}) ->
      ShOpts = [{cd, AppDir}],
      rebar_utils:sh("git fetch --tags origin", ShOpts),
  