OK. So I thought I had this licked ... but now ....
I have a project which includes one small library from GitHub as a submodule. In the original version of that super-project the submodule is working as expected.
However, I just cloned the superproject, did what I thought I should : "git submodule init", got the directory of the submodule to appear, but it's empty.
If I now try to do
git submodule update
I get
fatal: Needed a single revision
Unable to find current revision in submodule path 'external_libraries/BEACHhtml'
If I try
git submodule foreach git pull
I get
Entering 'external_libraries/BEACHhtml'
fatal: Where do you want to fetch from today?
Stopping at 'external_libraries/BEACHhtml'; script returned non-zero status.
In my .git/config, I have this :
[submodule "external_libraries/BEACHhtml"]
url = [email protected]:interstar/BEACHhtml.git
In my .gitmodules I have this :
[submodule "external_libraries/BEACHhtml"]
path = external_libraries/BEACHhtml
url = [email protected]:interstar/BEACHhtml.git
Anyone got an idea what's missing?
It seems that now (in 2019) installing latest GIT client could solve the problem according to comments below. This should be the best solution for now.
I have the same problem as you. This is a bug in git: http://git.661346.n2.nabble.com/BUG-git-submodule-update-is-not-fail-safe-td7574168.html
In short, for your problem, try:
# rm -rf external_libraries/BEACHhtml
# git submodule update
It seems there is something wrong with the previous checkout folder, remove it, and update again solves the problem.