2008-10-06 13 views
1

Notre dépôt svn a beaucoup de branches qui sont des branches de sous-arbres. Cela fonctionne bien avec svn parce que je peux vérifier ce sous-arbre au bon endroit dans ma copie de travail. Cependant, si je vérifie la même branche en utilisant git, j'obtiens une copie de travail avec seulement le sous-arbre de branche. Est-il possible de faire déplacer la branche par git de sorte que ma structure de copie de travail soit identique que je sois sur un tronc ou une branche?Est-il possible de faire des fichiers de branches git svn "relocaliser" à la caisse?

Je réalise que nos pratiques svn se heurtent à la philosophie de git de toujours travailler sur l'arbre entier. Comment les gens gèrent-ils cela?

Répondre

3

Si possible, corrigez-le côté serveur: Subversion ne copie pas de données lors de la dérivation (svn copy), il ne s'agit que de liens durs, il n'y a donc aucune raison évidente de ne dévier qu'une sous-arborescence.

Si ce n'est pas possible, vous devriez jeter un oeil à http://help.github.com/subtree-merge/ - cela peut faire l'affaire, mais je ne l'ai pas essayé moi-même. Il décrit essentiellement une alternative aux sous-modules git, où vous fusionnez automatiquement la télécommande (dans ce cas, votre branche Subversion) dans un sous-répertoire au lieu du répertoire racine du référentiel.

+0

La stratégie de fusion de sous-arborescence a fait l'affaire. –

1

Je n'ai jamais utilisé svn comme ça, et si le silence que vous avez obtenu est une indication, c'est une pratique rare. Pourriez-vous donner des raisons pour faire les choses de cette façon, peut-être en décrivant quel problème cela résout? De cette façon, nous pouvons mieux juger de ce qui serait une solution acceptable.

+0

Je pense que c'est une mauvaise pratique, en fait. C'est juste ce que nous faisons, mais cela crée surtout des problèmes et de la confusion. Quoi qu'il en soit, la stratégie de fusion des sous-arbres semble m'aider à faire les choses du bon côté. –

Questions connexes