Перемещение рабочей копии git, содержащей подмодули

Недавнее изменение в Git изменило способ.git каталог обрабатывается при использовании подмодулей. Вместо того, чтобы иметь один.git за подмодуль, теперь все вкорневой уровень " .git каталог (тот, который соответствует рабочей копии, включая подмодули).

Затем в каждом подмодуле создается файл, который указывает на новое местоположение.git каталог.

Вмой проектУ меня есть следующее.gitmodules файл:

[submodule "tests/shared-tests"]
        path = tests/shared-tests
        url = git://github.com/roboptim/roboptim-shared-tests.git
[submodule "cmake"]
        path = cmake
        url = git://github.com/jrl-umi3218/jrl-cmakemodules.git

Когда я делаюgit clone --recursiveТогда я получу:

$ cat cmake/.git
gitdir: /home/moulard/profiles/default-x86_64-linux-ubuntu-12.04.1/src/unstable/roboptim/roboptim-core/.git/modules/cmake

Я в настоящее время использую Git 1.8.1.5.

Мои вопросы:

Почему это поведение изменилось? Я неЯ не вижу никакой очевидной выгоды для этой новой стратегии.Как я могу безопасно переместить рабочую копию? (если я перемещаю свою рабочую копию, я получаю сообщение об ошибке, сообщающее, что путь к сломанному gitdir больше не является хранилищем Git)

Обратите внимание, что это не то же самое, что предыдущий вопросПеремещение родительского каталога репозитория git, который содержит подмодули в том смысле, что яконечно это не проблема, связанная с наличием абсолютного пути в моем.gitmodules файл.

Ответы на вопрос(2)

Ваш ответ на вопрос