2010-01-21 7 views
0

Mon projet sur lequel je travaille est une version contrôlée sous SVN. J'ai dû faire un grand nombre de refactorings. Pour ce faire, j'ai pris mon espace de travail et créé un nouveau dépôt git. Par la suite j'ai fait les refactorings et commis à mon référentiel git local aussi souvent que possible, fait des branches etc.Fusion d'une branche git existante avec un SVN précédemment inconnu

En attendant quelqu'un fait commet au SVN. Maintenant, je voudrais commettre mes changements aussi dans le SVN. Ajout du SVN via git-svn clone n'aide pas, car le clone et les branches existantes ne peuvent pas être fusionnés (ancêtre commun manquant) même si les fichiers suivis sont les mêmes.

Est-il possible d'ajouter un lien SVN et/ou créer cet ancêtre?

+0

Avez-vous essayé de faire "git svn rebase" avant de pousser vos changements? –

Répondre

0

C'est un peu un hack sale dans cette instance, mais si vous écrasez tous les commits en utilisant rebase, vous pouvez probablement juste cherry-pick la modification consolidée. MISE À JOUR: Vous pouvez également utiliser rebase pour déplacer la racine de la branche sur laquelle vous avez effectué votre refactoring afin qu'elle se connecte à partir d'une branche qui suit le repo git-svn. UPDATE 2: Comme le dit ndim, l'option rebase que vous cherchez est probablement --onto.

+0

Probablement un 'git rebase ... --onto ...' déplacerait la racine. – ndim

Questions connexes