GIT -подмодулы: ln -s
-
13-09-2019 - |
Вопрос
Как я могу создать ссылку на каталог, которая выживет git submodule update
?
Учитывая следующую структуру каталога:
proj
|-- lib3
| `-- submod
| `-- lib
`-- lib
Я создал мягкую ссылку из proj/lib/
к proj/lib3/submod/lib
Используя что -то вроде следующей команды:
brad@bradpc:~/proj/lib$ ln -s ../lib3/submod/lib submodlib
Создание следующей структуры каталога:
proj
|-- lib3
| `-- submod
| `-- lib
`-- lib
`-- submodlib
Однако бег git submodule update
уничтожает мою ссылку. У меня сложилось впечатление, что мягкая ссылка является логической ссылкой на относительный путь, поэтому удаление объекта и повторное добавление, она сохранит ссылку нетронутой. Как я могу достичь желаемого эффекта?
Решение
Мягкая ссылка, сделанная с ln -s должен вести себя так, как вы намеревались. Насколько я понимаю, если вы делаете GIT Submodule Update какая -то часть вашего каталога Proj/lib3/sump/lib удаляется и воссоздан. Это означает, что в этом нет никакой разницы, чем вручную RM Proj/Lib3/Summod и после этого mkdir -p proj/lib3/sump/lib Например.
Я проверил это вручную (RM и MKDIR) на своей установке OpenSuse Linux, и мягкая связь все еще была в порядке после воссоздания структуры каталога.
В какой среде ОС вы работаете? Возможно, это не настоящая мягкая связь.