2017-01-27 4 views
0

J'ai utilisé svn2git pour convertir un grand dépôt SVN de 10+ milliers de commits vers un dépôt Git.Possibilité de fusionner des branches qui ont été copiées dans le passé mais ne partagent pas la même racine?

Le référentiel Git fonctionne correctement, mais sa taille de fichier était considérablement plus importante que celle du dépôt SVN.
La cause de ceci semble être que les branches SVN n'ont pas été correctement créées comme une nouvelle branche, mais plutôt copié le contenu du fichier entier à partir du maître et a travaillé dessus.

Par conséquent, toutes les branches Git sont behind the master by 10k+ commits. Comme le processus de recréer manuellement chaque branche et de lancer à nouveau svn2git prendrait des jours, je me demandais s'il était possible de fusionner la racine de ces arbres liés à une seule source mais garder la tête séparée pour continuer à travailler sur les branches. Faites-moi savoir si vous avez besoin d'informations supplémentaires.

[]

+0

Quel outil 'svn2git' avez-vous utilisé? Il y a beaucoup d'entre eux. – 1615903

+0

Celui-ci: https://github.com/nirvdrum/svn2git – fasoh

Répondre

0

Dans git vous ne pouvez pas fusionner 2 branche avec l'histoire sans rapport, mais vous pouvez faire autre chose qui fonctionnera.

git cherry-pick

git cherry-pick start..end vous permettent de choisir une gamme commettras de vous dépôt local à une branche quelle que soit son origine. Cela vous permettra d '"importer" tout commit de n'importe quelle branche à n'importe quelle autre branche de votre repo.

+0

Que diriez-vous de l'option '--allow-unrelated-histories' de' git merge'? – Vampire