У меня есть следующее дерево каталогов, хранящееся в git-репозитории с подмодулями:
project_src
└── src
└── aiscom <- submodule of project_src
├── libaisparser <- submodule of aiscom
└── reliablesocket <- submodule of aiscom
Из-за некоторой реорганизации в иерархии исходного кода нашего проекта я хочу переместить всю папку src в
папка gui
вместе со всеми указанными субмодулями, например:
project_src
└──gui
└── src
└── aiscom <- submodule of project_src
├── libaisparser <- submodule of aiscom
└── reliablesocket <- submodule of aiscom
Согласно Как переместить существующий подмодуль Git в репозиторий Git? и Как переместить существующий подмодуль Git в репозиторий Git? Я сделал:
git mv src gui
Теперь мерзавец жалуется:
$ git status
fatal: not a git repository: libaisparser/../../../.git/modules/src/aiscom/modules/libaisparser
fatal: 'git status --porcelain=2' failed in submodule gui/src/aiscom
Я пытался:
$ git submodule foreach --recursive 'git submodule sync' [±enh-43/source-tree-refactoring ✓]
Entering 'gui/src/aiscom'
Synchronizing submodule url for 'libaisparser'
fatal: not a git repository: libaisparser/../../../.git/modules/src/aiscom/modules/libaisparser
Stopping at 'gui/src/aiscom'; script returned non-zero status.
Кто-нибудь знает, как переместить каталог с git, содержащий подмодуль, который содержит другой подмодуль?