2009-06-15 5 views
3

Как создать ссылку на каталог, которая сохранится git submodule update?git subodules: ln -s

Учитывая следующую структуру Пример каталога:

proj 
|-- lib3 
| `-- submod 
|  `-- lib 
`-- lib 

Я создал мягкую ссылку из proj/lib/ в proj/lib3/submod/lib используя что-то вроде следующей команды:

[email protected]:~/proj/lib$ ln -s ../lib3/submod/lib submodlib 

создает следующую структуру каталогов:

proj 
|-- lib3 
| `-- submod 
|  `-- lib 
`-- lib 
    `-- submodlib 

Howe ver, running git submodule update уничтожает мою ссылку. У меня создалось впечатление, что мягкая ссылка является логической связью с относительным путем, поэтому удаление объекта и повторное добавление связывают эту связь. Как я могу достичь желаемого эффекта?

ответ

1

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

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

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

+0

Это очень хороший момент. Я использую Kubuntu linux большую часть времени, хотя иногда я использую оболочку из Cygwin, если у меня нет копии linux. Я попробую это снова, убедившись, что я делаю это в Linux. Благодаря! – brad

Смежные вопросы