My repo uses a customized version of Recurly-js, and I have packaged it as a submodule using these instructions https://devcenter.heroku.com/articles/git-submodules . However, I get the following error now when I try to deploy:
----> Heroku receiving push
-----> Git submodules detected, installing
Submodule 'recurly-js' (/app/tmp/repo.git/recurly-js) registered for path 'recurly-js'
Initialized empty Git repository in /tmp/build_3iacvn8h2rnha/recurly-js/.git/
fatal: '/app/tmp/repo.git/recurly-js' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Clone of '/app/tmp/repo.git/recurly-js' into submodule path 'recurly-js' failed
! Heroku push rejected, Submodule install failed
I gave the answer as a comment to @jeffrey-k's answer, but now I'm even more sure of it, I'll write it here.
My repo suddenly stopped pushing, and these two things 'fixed' it:
[email protected]:yaniv-aknin/public-project
to git://github.com/yaniv-aknin/public-project
). To do this, you will need to edit the file called .gitmodules
in the root of your repo..gitmodules
and rm -fr
their directories).This handles these two changes in behaviour:
I've opened a ticket asking if my analysis is correct and why did the change happen (with no warning I managed to hear of) - I'll update this answer if I learn something new.
UPDATE: Noah from Heroku's support replied to my ticket and largely acknowledged what I said above. Public repo URLs should be changed, private repos should either be removed or have credentials embedded in them as per this document; the latter solution has obvious security ramifications.
As of 2019, you can now simply log in to Heroku and go here:
https://dashboard.heroku.com/apps/<YOUR-WEBSITE-NAME>/deploy/github
And link your GitHub account or organization with Heroku. It'll then be able to clone private submodules your account has access to when selecting to deploy on a push to the master of your main GitHub repo.
Looks like this answer - https://stackoverflow.com/a/8768240 - tells the story. Heroku will not accept git submodules that are private repos. My version of recurly-js is a forked, non-private repo.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With