подмодули git: ln -s - PullRequest
       20

подмодули git: ln -s

3 голосов
/ 15 июня 2009

Как создать ссылку на каталог, которая будет существовать 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 уничтожает мою ссылку. У меня сложилось впечатление, что мягкая ссылка - это логическая ссылка на относительный путь, поэтому удаление объекта и его повторное добавление сохранит ссылку без изменений. Как мне добиться желаемого эффекта?

1 Ответ

1 голос
/ 15 июня 2009

Мягкая ссылка с ln -s должна вести себя так, как вы и предполагали. Насколько я понимаю, если вы выполните обновление подмодуля git , то некоторая часть вашего каталога proj / lib3 / submod / lib будет удалена и воссоздана. Это означает, что в этом нет никакой разницы, чем rm proj / lib3 / submod , а затем, например, mkdir -p proj / lib3 / submod / lib .

Я проверил это вручную (rm и mkdir) на моей установке openSuse Linux, и после воссоздания структуры каталогов софт-линк оставался в порядке.

В какой среде ОС вы работаете? Возможно, это не настоящая мягкая ссылка.

...