 
   ## Fetching
 
-  defp mix_dep(%Mix.Dep{opts: opts} = dep, children) do
+  defp mix_dep(%Mix.Dep{opts: opts} = dep, nil) do
     Mix.Dep.in_dependency(dep, fn _ ->
       umbrella? = Mix.Project.umbrella?
 

        opts = Keyword.put_new(opts, :app, false)
      end

      children = (mix_children(env: opts[:env] || :prod) |> filter_children(children))
                 ++ Mix.Dep.Umbrella.unloaded

      dep = %{dep | manager: :mix, opts: opts, extra: [umbrella: umbrella?]}
      {dep, children}
    end)
  end

  defp rebar_dep(%Mix.Dep{} = dep, children) do
    Mix.Dep.in_dependency(dep, fn _ ->
      rebar = Mix.Rebar.load_config(".")
      extra = Dict.take(rebar, [:sub_dirs])
      dep   = %{dep | manager: :rebar, extra: extra}
      {dep, rebar |> rebar_children |> filter_children(children)}
    end)
  end


      Mix.Rebar.deps(config) |> Enum.map(&to_dep(&1, from, :rebar))
    end) |> Enum.concat
  end

  defp validate_path(%Mix.Dep{scm: scm, manager: manager} = dep) do
    if scm == Mix.SCM.Path and not manager in [:mix, nil] do
