Migrer à partir de Git SVN
J'ai un projet qui nécessite le port d'un dépôt Git SVN.
J'ai essayé plusieurs façons en ligne, mais aucun d'entre eux travaille pour moi.
Si quelqu'un peut aider, ce serait vraiment apprécié.
J'ai suivi un guide sur
- clonage d'un repo Git d'une copie de travail
- va dans la copie
- le rembobinage de la tête à la première commettre
- cherry picking tous les commits
- faire
git svn rebase
etgit svn dcommit
Le problème de cette méthode est que mon dépôt Git a une histoire compliquée.
Il y a beaucoup de ramification des sorties et des fusions.
Quand j'ai fait cherry pick, il ne capte une partie de la finale du référentiel.
Question: Est-il un moyen d'éviter le "cherry picking" et git svn rebase
?
Peut-être la remplacer par autre chose?
J'ai suivi ce poste web: La migration d'un repo Git d'un svn un
Ce poste essentiellement
- ne
git svn clone
- cherché le repo git dans la cloné de la copie de travail
- ramifiés le maître de old_master
- appliqué tous les commits de old_master pour le maître (
git svn rebase
) - ne
git dcommit
Le problème de cette approche est similaire à ce que j'avais dans le premier:
Quand j'ai fait git svn rebase
, il y a beaucoup de conflits.
Aussi, quand je passe sur tous les conflits, la git dcommit
a échoué.
Il m'a dit: Unable to determine upstream svn information from HEAD history.
Je ne peux pas dire quoi d'autre à essayer à partir de ce point.
Veuillez donner des suggestions si vous remarquez quelque chose que j'ai fait de mal ou qui ont d'autres façons de le faire.
Apprécié!!
OriginalL'auteur curlingbunny | 2013-10-02
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous n'avez pas le choix, mais de perdre une partie de votre historique de git - SVN juste ne peut pas gérer beaucoup d'informations.
Le seul hack, je pense, pour la délégation de problèmes à un tiers, serait de profiter de GitHub SVN de soutien afin de faciliter votre tâche.
Je vous recommande vraiment à penser si vous avez besoin de garder votre histoire, ou comment terminer comme il se doit. Sur cette base, je venais de squash/rebase le conflit s'engage (ou de l'ensemble de l'histoire dans un seul commit) et commencer à partir de cela.
Peut la fourche soit avec vous!
Downvoted parce que SVN peut gérer plus de renseignements et peut gérer beaucoup plus d'infos que Git. Le principal problème est que Git ne fait pas le suivi renomme et déplace. Par conséquent, la migration peut être compliqué.
Git détecte renomme plutôt que de la persistance de l'opération avec la révision, donc, si vous utilisez git mv ou juste une plaine mv n'a pas d'importance. stackoverflow.com/questions/2314652/...
OriginalL'auteur mgarciaisaia
Bien, vous devez prendre un coup d'oeil à cette question. Meilleure réponse est:
Meilleures salutations.
OriginalL'auteur Rhuan Karlus