anchor.diff:  'get-deps'(Config, _) ->
       %% Determine what deps are available and missing
       Deps = rebar_config:get_local(Config, deps, []),
  -    {_AvailableDeps, MissingDeps} = find_deps(Deps),
  +    {AvailableDeps, MissingDeps} = find_deps(Deps),
   
       %% For each missing dep with a specified source, try to pull it.
  -    PulledDeps = [use_source(D) || D <- MissingDeps, D#dep.source /= undefined],
  +    PulledDeps0 = [use_source(D) || D <- MissingDeps, D#dep.source /= undefined],
  +
  +    %% For each available dep try to update the source to the specified
  +    %% version.
  +    PulledDeps1 = [update_source(D) || D <- AvailableDeps,
  +                                       D#dep.source /= undefined],
   
       %% Add each pulled dep to our list of dirs for post-processing. This yields
       %% the necessary transitivity of the deps
  -    erlang:put(?MODULE, [D#dep.dir || D <- PulledDeps]),
  +    erlang:put(?MODULE, [D#dep.dir || D <- PulledDeps0 ++ PulledDeps1]),
       ok.
   
   'delete-deps'(Config, _) ->
  
positive.code:                         [Rev, Url, filename:basename(AppDir)]), [],
                     filename:dirname(AppDir)).
  
  
  %% ===================================================================
  %% Source helper functions
  
negative.code:     _ = [delete_dep(D) || D <- AvailableDeps,
  			  lists:prefix(DepsDir, D#dep.dir) == true],
      ok.
  
  
  %% ===================================================================
  