Mover una copia de trabajo git que contiene submódulos

Un cambio reciente en Git cambió la forma en que.git El directorio se maneja cuando se usan submódulos. En lugar de tener uno.git Por submódulo, todo está ahora en el "nivel raíz"..git directorio (el que corresponde a la copia de trabajo incluyendo los submódulos).

Luego, en cada submódulo, se crea un archivo que apunta a la nueva ubicación del.git directorio.

Enmi proyecto, Tengo los siguientes.gitmodules expediente:

[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

Cuando lo hagogit clone --recursive, Luego obtengo:

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

Actualmente estoy usando Git 1.8.1.5.

Mis preguntas son:

¿Por qué cambió este comportamiento? No veo ninguna ganancia obvia a esta nueva estrategia.¿Cómo puedo entonces mover con seguridad una copia de trabajo? (Si muevo mi copia de trabajo, recibo un mensaje de error que me dice que la ruta al gitdir roto ya no es un repositorio de Git)

Tenga en cuenta que esto no es lo mismo que la pregunta anteriorMover el directorio principal de un repositorio git que contiene submódulos en el sentido de que soyPor supuesto Este no es un problema relacionado con la presencia de una ruta absoluta en mi.gitmodules expediente.

Respuestas a la pregunta(2)

Su respuesta a la pregunta