2009-06-15 32 views
3

如何创建一个能够在git submodule update下生存的目录链接?git submodules:ln -s

已知以下目录结构:

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

创建下面的目录结构:

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

我使用类似下面的命令创建从proj/lib/的软链接proj/lib3/submod/lib

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

但是,runn ing git submodule update破坏我的链接。我的印象是软链接是相对路径的逻辑链接,因此删除对象并重新添加它会保持链接不动。我怎样才能达到预期的效果?

回答

1

使用ln -s的软链接的行为应该与您的预期相同。据我了解,如果你做一个git子模块更新您的目录proj/lib3/submod/lib的某些部分被删除并重新创建。这意味着没有区别,例如,手动执行一个rm proj/lib3/submod,然后执行一个mkdir -p proj/lib3/submod/lib

我在我的openSuse Linux安装上手动测试了这个(rm和mkdir),并且在重新创建目录结构后软链接仍然正常。

你在哪个操作系统环境下工作?也许这不是一个真正的软链接。

+0

这是一个很好的观点。我大部分时间都在使用Kubuntu Linux,尽管如果我没有Linux的副本,我有时会使用Cygwin。我会再试一次,确保我在linux中执行此操作。谢谢! – brad 2009-06-15 19:20:23

相关问题