It's a bit late but maybe this can help somebody else.

I had the same problem, I was refactoring my code and I changed a package name then I tried to push to Heroku and it was failing due to duplicate objects. My mistake was that I was using git add . that ignores deleted files on my git version:

warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal', whose behaviour will change in Git 2.0 with respect to paths you removed.

Paths like 'app/.DS_Store' that are removed from your working tree are ignored with this version of Git.

  • 'git add --ignore-removal ', which is the current default, ignores paths you removed from your working tree.

  • 'git add --all ' will let you also record the removals.

Run 'git status' to check the paths you removed from your working tree.

The solution was to set Heroku to clean with heroku config:set SBT_CLEAN=true and then on the git side git add . -A && git commit -m "message" && git push heroku master.

Related Query

More Query from same tag