Git-svn - import de l'historique complet
Problème
Par défaut git svn clone importations de l'historique de création de la branche à partir, malgré le fait, que l'histoire de fichiers est présent dans le dépôt SVN avant la création de la branche.
Notre branche SVN a été créé par svn copy
, si ce qui compte.
Mes tentatives
J'ai essayé --no-minimize-url
et --follow-parent
, mais sans succès. Produite dépôt Git est le même que sans ces paramètres, à partir de la direction de la création.
Résultat souhaité
Dépôt Git avec un historique complet depuis le dépôt SVN création.
Mise à jour
Ma réelle de la ligne de commande a été
git svn clone http://svnserver/repo/dir1/dir2/project
Ce qui les a aidé a -T
argument à la commande qui en résulte:
git svn clone http://svnserver/repo/-T dir1/dir2/project
avez-vous essayé avec le drapeau-T? git svn clone -T repo_url?
Je n'avez-vous pas fait référence à
Je n'avez-vous pas fait référence à
-s
drapeau? Mise en page Standard. Elle suppose que la norme trunk/branches/tags format de répertoire, de sorte qu'il importe toutes les branches et les tags depuis le dépôt SVN. J'ai trouvé jonmaddox.com/2008/03/05/... particulièrement utile pour la migration.
OriginalL'auteur Hoppus Hoppard | 2013-03-01
Vous devez vous connecter pour publier un commentaire.
Oui. ce qui est vrai.
git svn
ne essayez d'importer des branches comme des branches si c'est dit de manière. À partir de la page de manuel de la commande git-svn:Si vous passer l'URL d'une branche à l'
git svn clone
(au lieu de haut-niveau de l'URL), vous n'obtiendrez que le linéaire de l'histoire pour la branche. C'est probablement ce que vous voyez.Si vous voulez plein d'histoire, d'utiliser le référentiel de mise en page les options mentionnées ci-dessus, et passer le premier niveau de l'URL. Puis
git svn
va essayer de créer des branches git pour les branches du SVN, et va essayer de leur donner le droit d'histoire, de revenir avant leur création.Noter que ce sera vous donner le référentiel complet avec toutes les branches. Si vous voulez seulement quelques branches, vous avez besoin de modifier votre configuration, comme expliqué dans la page de manuel:
Voir git-svn(1).
svn-remote.{name}.fetch
options de configuration (vous devez le faire à la main entre l'exécution degit svn init
et la premièregit svn fetch
, pas de " git svn clone court-couper ici), vous pouvez récupérer une poignée de branches spécifiques, y compris l'histoire de la branche entre eux.OriginalL'auteur sleske
http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git décrit comment importer des branches et des tags correctement.
OriginalL'auteur sjas