Первоначально у меня была следующая (упрощенная) структура репо:
MyRepo
external1/MySub (git submodule)
.gitsubmodules
Где
$ cat .gitsubmodules
[submodule "external1/MySub"]
path = external1/MySub
url = [email protected]:/remoterepo/externals/MySub.git
Затем мне захотелось переместить MySubmodule в другой каталог в том же репозитории git, например, external2, поэтому структура выглядит следующим образом:
MyRepo
external2/MySub (git submodule)
.gitsubmodules
Что я сделал, и думал, достаточно, я просто переместил (через OS mv
) каталог external1/MySub на внешний2/MySub и отредактировал файл .gitsubmodules:
$ cat .gitsubmodules
[submodule "external2/MySub"]
path = external2/MySub
url = [email protected]:/remoterepo/externals/MySub.git
После этого изменения я получаю следующую ошибку:
$ git status
fatal: Could not chdir to '../../../../../repo/external/MySub': No such file or directory
fatal: 'git status --porcelain' failed in submodule repo/external2/MySub
Что мне не хватает? Любые другие изменения необходимо сделать для такого перехода на работу?
(Я использую git версию 1.8.3rc3 в Windows 8.1)