git submódulos: ln -s
-
13-09-2019 - |
Pregunta
¿Cómo puedo crear un enlace de directorio que sobrevivirá? git submodule update
?
Dado la siguiente estructura de directorio de ejemplo:
proj
|-- lib3
| `-- submod
| `-- lib
`-- lib
Creé un enlace suave desde proj/lib/
a proj/lib3/submod/lib
Usando algo como el siguiente comando:
brad@bradpc:~/proj/lib$ ln -s ../lib3/submod/lib submodlib
Creación de la siguiente estructura del directorio:
proj
|-- lib3
| `-- submod
| `-- lib
`-- lib
`-- submodlib
Sin embargo, correr git submodule update
destruye mi enlace. Tenía la impresión de que un enlace suave es un enlace lógico a una ruta relativa, por lo que eliminar el objeto y volver a admitirlo mantendría el enlace intacto. ¿Cómo puedo lograr el efecto deseado?
Solución
Un enlace suave hecho con LN -S Debería comportarse como usted pretendía. Según tengo entendido, si haces un actualización de submódulo de git alguna parte de tu directorio proj/lib3/submod/lib/lib es eliminado y recreado. Eso significa que no hay diferencia en eso, que hacer manualmente un RM Proj/lib3/submod y después de eso un mkdir -p proj/lib3/submod/lib/lib por ejemplo.
Probé esto manualmente (RM y MKDIR) en mi instalación de OpenSuse Linux y el enlace suave todavía estaba bien después de recrear la estructura del directorio.
¿En qué sistema operativo enterrado trabaja? Quizás no sea un verdadero enlace blando.