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: 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> 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 ...
3 Réponses :
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
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.
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
Il détermine quelle branche SVN est accessible depuis le COMMIT que vous avez vérifié (suivant que les premiers parents) et s'engage à cette succursale. Il ne peut jamais y avoir plus d'un depuis que Git-svn ne crée pas de branches sur les autres branches.
Vous pouvez le modifier en recâblant votre branche locale avant de faire en sorte que c'est un descendant de la SVN commettre que vous souhaitez vous engager haut de (c'est-à-dire la tête de la branche SVN que vous souhaitez vous engager). p>
de https://git-scm.com/docs/git-svn : P>
git svn dcommit code> tentera de s'engager sur le SVN commet nommé dans p>
git log --grep=^git-svn-id: --first-parent -1