Diviser un référentiel Git en plusieurs twigs devient des fourches

J'ai un projet dans SVN que je migre vers Git. Le projet consiste en un produit «de base» (sous le tronc), qui est ensuite ramifié dans le même référentiel et utilisé comme sharepoint départ pour personnaliser pour chaque client individuel à qui nous faisons rouler le produit.

Il me semble que ce ne sont pas de vraies twigs car elles ne seront jamais réembeddedes dans le coffre, et il vaudrait mieux vivre dans leurs propres repositorys avec leur histoire les reliant au référentiel «tronc» et à la capacité de tirer dans les changements du tronc au besoin (facilement accompli avec git bien sûr).

Ce qui rend les choses un peu plus compliquées, c'est qu'un client a une twig de son propre projet, qui est une twig «réelle» dans le sens où il sera fusionné sur la twig principale de ce client à un moment donné.

Pour rendre les choses plus claires, la structure SVN est la suivante:

  • Référentiel "Projet"
    • Tronc
    • Branches
      • Client1 (dérivé de Trunk v100)
      • Client2 (dérivé de Trunk v150)
      • Client2-Branch (dérivé de Client2 v200)
      • Client3 (dérivé de Trunk v150)

Et la structure que je voudrais get est

  • Référentiel "Projet"

  • Client1 Repository (forked from SHA123)

  • Client2 Repository (forked à partir de SHA456)

    • Client2-Branch (dérivé de SHA456789)
  • Référentiel Client3 (forked from SHA789)

Quelqu'un peut-il reorder un bon moyen de le faire – je ne suis pas un novice Git et je suis au courant de filter-twig, je ne suis pas sûr de la méthode que je devrais prendre pour get cette structure et garder autant d'histoire que possible.

Merci

Solutions Collecting From Web of "Diviser un référentiel Git en plusieurs twigs devient des fourches"

Si vous voulez vraiment faire cela, clonez le repo, et supprimez les twigs étrangères dans chaque.

Mais la situation actuelle semble très bien. Êtes-vous sûr de ne jamais vouloir choisir des correctifs d'un rapport à un autre?

Vous pouvez utiliser svn2git pour cloner les twigs dans leurs propres repos, quelque chose comme

 svn2git svn://project/twigs/client1 --rootistrunk 

pour chaque twig que vous voulez faire dans un repo fourchu, puis

 svn2git svn://project/trunk --rootistrunk 

pour le coffre.

J'ai fait quelque chose de similaire pour une très grande conversion svn-> git.