9
votes

Comment Git Svn DCommit détermine-t-il où s'engager?

J'utilise GIT-SVN pour suivre plusieurs branches dans le même référentiel SVN. Généralement cela fonctionne bien, mais aujourd'hui, j'ai fait des réinitialistes et des rebastes, et tout à coup, mes branches ne feraient plus que la branche distante droite: xxx pré>

de sorte que la branche B s'engageait à branches / un répertoire au lieu du répertoire des branches / B. P>

J'ai essayé de changer la branche suivie: p> xxx pré>

et d'autres choses, mais La seule solution qui a fonctionné était de supprimer la branche B et de le recréer: P>

$ git branch -D b
$ git branch b remotes/b
$ git svn dcommit -n
Committing to svn://server/repo/branches/b ...


1 commentaires

3 Réponses :


5
votes

La configuration SVN que vous recherchez est dans le fichier .git / config de votre référentiel cloné. Il peut être manipulé avec un éditeur de texte. Voici un échantillon:

[svn-remote "weirdbranch"]
    url = svn+ssh://ambientideas.com/svnrepos/myproject/branches/myweirdbranch
    fetch = :refs/remotes/git-svn-myweirdbranchlocalname


1 commentaires

Merci, c'est des informations précieuses en effet! J'ai également constaté que GIT commettre une branche X à une branche distante R si elle pense que X est basée sur R. Donc, en reconquassant X sur R, je pourrais forcer Git à s'engager sur la bonne branche distante.



0
votes

Mon problème avec Svn Git était similaire. Ma structure de branche était hiérarchique comme ceci:

[svn-remote "svn"]
    url = https://me.com/svn/projectX
    fetch = trunk:refs/remotes/svn/trunk
    fetch = branches/Android/dev-shared:refs/remotes/svn/branches/Android/dev-shared


0 commentaires