Это сообщение об ошибке исходит от submodule.c
, в частности, merge_submodule()
метод :
int merge_submodule(unsigned char result[20], const char *path,
const unsigned char base[20], const unsigned char a[20],
const unsigned char b[20], int search)
{
struct commit *commit_base, *commit_a, *commit_b;
int parent_count;
struct object_array merges;
// [...]
if (add_submodule_odb(path)) {
MERGE_WARNING(path, "not checked out");
return 0;
}
И метод add_submodule_odb()
проверяет наличие .git
в указанном подмодуле.
Итак, как комментирует Джефроми, вы, вероятно, не сделали git submodule update
, как описано в Pro Git book .
Вы должны увидеть вопрос SO " Git - легкий способ получить последние из всех подмодулей " для получения дополнительной информации о том, как вернуть содержимое всех ваших подмодулей.
С последним Git вы можете вытащить и обновить за один раз :
git alias update_submodules='git pull --recurse-submodules && git submodule update'