       out_of_date?(dep) ->
         new =
           if scm.checked_out?(opts) do
-            Mix.shell.info "* Updating #{format_dep(dep)}"
+            Mix.shell().info("* Updating #{format_dep(dep)}")
             scm.update(opts)
           else
-            Mix.shell.info "* Getting #{format_dep(dep)}"
+            Mix.shell().info("* Getting #{format_dep(dep)}")
             scm.checkout(opts)
           end
 

  defp fetch_by_name(given, lock) do
    names = to_app_names(given)

    fn(%Mix.Dep{app: app} = dep, acc, new_lock) ->
      # Only fetch if dependency is in given names or if lock has
      # been changed for dependency by remote converger
      if app in names or lock[app] != new_lock[app] do

  end

  defp out_of_date?(%Mix.Dep{status: {:lockmismatch, _}}), do: true
  defp out_of_date?(%Mix.Dep{status: :lockoutdated}), do: true
  defp out_of_date?(%Mix.Dep{status: :nolock}), do: true
  defp out_of_date?(%Mix.Dep{status: {:unavailable, _}}), do: true
  defp out_of_date?(%Mix.Dep{}), do: false

  defp do_finalize({all_deps, apps, new_lock}, old_lock, opts) do
    # Let's get the loaded versions of deps
