Amalgam
A semantic merge driver for Elixir code.
The Problem
Git's default merge strategy is line-based, which doesn't understand Elixir. When you and a coworker both add a function in the same spot, you get:
def my_function do
def their_function do
:my_thing
:their_thing
end"There's gotta be a better way!"
And now, there is.
Installation
mix escript.install hex amalgam
mix amalgam.install
Add to your project's .gitattributes:
*.ex merge=amalgam
*.exs merge=amalgam##License
MIT License. See the LICENSE file for details.