2009-06-15 5 views
3

Comment créer un lien de répertoire qui survivra git submodule update?git submodules: ln -s

Compte tenu de la structure du répertoire exemple suivant:

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

Je crée un lien souple proj/lib/-proj/lib3/submod/lib en utilisant quelque chose comme la commande suivante:

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

créer la structure de répertoire suivant:

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

Cependant, runn git submodule update détruit mon lien. J'avais l'impression qu'un lien mou est un lien logique vers un chemin relatif, donc enlever l'objet et le rajouter garderait le lien intact. Comment puis-je obtenir l'effet désiré?

Répondre

1

Un lien mou fait avec Ln -s devrait se comporter comme prévu. Si je comprends bien, si vous faites une mise à jour git sous-module une partie de votre répertoire proj/lib3/submod/lib est supprimé et recréé. Cela signifie qu'il n'y a pas de différence dans cela, que manuellement rm proj/lib3/submod et après cela un mkdir -p proj/lib3/submod/lib par exemple.

J'ai testé cela manuellement (rm et mkdir) sur mon installation Linux openSuse et le lien logiciel était toujours bon après avoir recréé la structure du répertoire.

Dans quel environnement d'OS travaillez-vous? Ce n'est peut-être pas un vrai softlink.

+0

C'est un très bon point. J'utilise Kubuntu linux la plupart du temps, bien que je sors parfois de Cygwin si je n'ai pas une copie de linux à portée de main. Je vais essayer à nouveau en m'assurant de le faire sous linux. Merci! – brad

Questions connexes