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-p
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.
If you are reading in 2019 or later, just update the git client. Worked for me.
I had this problem (flaky network so I got dropped submodule checkout like this) and I solved it by making this script (named it git-submodule-fix
so I could run it as git submodule-fix
)
#!/bin/bash
for arg
do
echo $arg
find . -name "`basename $arg`" | grep "$arg\$" | xargs rm -fr
done
If you get this i.e. from a git submodule update
fatal: Needed a single revision
Unable to find current revision in submodule path 'some/submodule/path'
do
git submodule-fix some/submodule/path
git submodule update
Solved by deleting 2 directories and refetching submodule:
external_libraries/BEACHhtml
and look into .git
file. It's content should be something like gitdir: ../../.git/modules/external_libraries/BEACHhtml
external_libraries/BEACHhtml
and .git/modules/external_libraries/BEACHhtml
directories.From now on git submodule update
runs without errors.
use a diff tool to compare the original clone that's working and this one. Also, what does git submodule
output. Ensure you are pointing to the same branch in each repo before you do.
I'm suspecting that you've switched to a branch or older revision where the submodule was not defined.
hope this helps
I had the same issue with a submodule on a project. When I tried to clone the submodule separately it worked well.
I've tried all of the answers above, but without success (git submodule update, ..., removing the submodule folders, ...).
The issue disappeared after update of git (from Git-1.7.11-preview20120710) to latest version (to Git-1.8.1.2-preview20130201) at the time. Strangely my colleagues had even older version, worked without any issues, but they were on Mac. I'm on Win7 64bit.