Rebar release upgrade caveats / gotchas (and fixes)

I’ve had to change a few things in rebar to make release upgrades a little easier and less error prone for our projects here at They should be beneficial to everyone, but specifically those new to OTP release upgrades or those who’ve not read all the release documentation before jumping in at the deep end with rebar. Rebar is great at getting those new and experienced with Erlang on the right track, but the release upgrades have (read had) a number of caveats that can be big gotchas to those who haven’t built their own releases from scratch without rebar before going hell for leather.

The caveats that I’ve found with the existing copy of rebar are thus:

These have been addressed by:

These patches are available on the Smarkets github account and have also been split up into separate branches ready for pull requests to the main basho repo. You can follow the comments there once I’ve made those pull requests if you are interested to chime in / see whether any of this ever goes up-stream.