Hey John! Your example doesn't the quite do the major thing I need it to: stay out of the mix.exs file.
Think of it like shadowing a variable, but for dependencies. My goal here is to be able to temporarily override a dependency with a local path, to test drive the dependency's development, in a way that I know will never accidentally get committed and break the host project's build. It has to be a way that is git-ignored so people I collaborate with can use their own local shadowings without merge conflicting over mine. I go into a little more depth on how and why bundler does it and how we could as well on the scratchpad PR <https://github.com/christhekeele/elixir/pull/2>I'm using to experiment with this feature. The gist I originally linked to wasn't meant to emphasize that this was possible within the mix.exs, that's a simpler task. It was to emphasize that using overrides is compatible with the mix.lock and mix deps system at large, so we could work on finding a way to remove it from the mix.exs. But not having it be in the mix.exs is really the core requirement––which is exactly why I'm considering stripping away the other restrictions used in the bundler system; I agree with you that these rules are fairly cumbersome. You're also right that paths need not be the end-all-be-all, with a general override system, but right now that isn't quite so simple because hex packages exist at a different level of abstraction within mix than git and path packages. And it doesn't make much sense to override a path dependency with a git one. That leaves just the path-overriding-git vector, until I work on the refactor mentioned earlier to bring them to the same level of abstraction. -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/4acb86c8-729f-44d2-83a6-693c4eb10174%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.