44 votes

Ajouter svn repo au git existant?

Je sais que vous pouvez suivre un repo svn à git en utilisant git svn init, mais c'est pour vous si vous souhaitez créer une nouvelle marque repo.

Ma situation est que j'ai déjà existant repo git et souhaitez suivre le tronc d'un repo svn en rendant une branche distante dans mon repo git.

Toutes les suggestions?

Mise à JOUR:

Après avoir cherché la nuit dernière, j'ai finalement trouvé la réponse:

http://i-nz.net/2009/01/15/selective-import-of-svn-branches-into-a-gitgit-svn-repository/

Il semble que vous avez fait entrer et de modifier manuellement .git/config fichier pour ajouter une branche svn à un repo git. Ainsi, selon ces instructions, je serait d'ajouter une entrée pour chaque branche.

23voto

rip747 Points 4033

Après avoir cherché hier soir, j'ai enfin trouvé la réponse:

http://i-nz.net/2009/01/15/selective-import-of-svn-branches-into-a-gitgit-svn-repository/

Il semble que vous deviez réellement entrer et éditer manuellement le fichier .git / config pour pouvoir ajouter une branche svn à un dépôt Git existant. Donc, selon ces instructions, je devrais ajouter une entrée pour chaque branche.

11voto

Kun Ling Points 671

1) Définissez la nouvelle branche dans .git / config:

[svn-remote "release-branch"]

url = svn+ssh://xxxx@mono-cvs.ximian.com/source/branches/mono-2-2/mcs

fetch = :refs/remotes/git-svn-release-branch

2) Importez la branche SVN. SVN_BRANCHED_REVISION est la révision lorsque la branche s’est produite dans SVN.

[~]$ git svn fetch release-branch -r SVN_BRANCHED_REVISION

3) Connectez une branche Git locale à la branche distante:

[~]$ git branch --track release git-svn-release-branch

5) Commander et mettre à jour

[~]$ git checkout release [~]$ git svn rebase

3voto

Ian Mariano Points 191

Vous pouvez trouver le SVN_BRANCHED_REVISION en faisant:

 $ svn log --stop-on-copy PATH_TO_BRANCH
 

2voto

cookiecaper Points 1718

C'est effectivement ce que git svn init ne -- l'autre git svn commandes il suffit de fusionner les choses ensemble, etc. Vous pouvez faire un git svn init et/ou de copier la mise en page d'un repo SVN cloné avec git svn clone, et vous devez simplement être en mesure de tirer dans un local de la branche, ou chercher, et ainsi de suite. Avez un peu de temps avec la page de man pour git svn et vous ne devriez pas avoir trop de mal à assembler quelque chose ensemble; si vous le faites, #git sur freenode est une bonne ressource. Donc, cela devrait être possible sans trop de problème, mais je ne sais pas exactement comment le faire toutes les.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X