2013-06-05 5 views
1

J'utilise git svn bridge et j'ai créé des branches que j'ai fusionnées en master, le problème est que si un collègue récupère le même repo avec git-svn, la fusion n'est pas montrée dans son journal.git svn montre incorrect merge graph

git   svn 
------------------------- 
master  /trunk 
branch1  /branches/branch1 
branch2  /branches/branch2 

Branches étaient basées sur 584 ..., quelques commits au maître sur FC80, 8f99, e0fd, 9df1, 536 après que certains testcommits à Branch1 (989 ...) et succursale2 (8B4. ..) avaient fini. Après cela, j'ai fusionné la branche 1 en maître, commit id e1b. J'ai travaillé plus et plus tard sur la branche fusionnée 2 dans le maître, l'ID de validation 422.

Tout fusionner est bien, semble bon jusqu'à présent.

Maintenant le problème: si un autre développeur récupère les changements en utilisant git-svn de svn server, les branches ne montrent aucun chemin de fusion.

Comment puis-je m'assurer que les autres développeurs savent également quand une branche a été fusionnée en master?

Tout bien, après une fusion sur mon ordinateur: http://i.stack.imgur.com/HrRSn.png enter image description here

Log montré sur un autre ordinateur après git-svn http://i.stack.imgur.com/jLhYV.png d'extraction enter image description here

+0

Si vous travaillez tous les deux dans git, y a-t-il une raison que vous partagez via un référentiel subversion? – Useless

Répondre

1

git-svn ne supporte pas très bien se confond (lire : à peu près pas du tout). C'est parce que, quand il a été conçu, SVN n'avait aucun moyen de stocker des informations de fusion du tout, donc git-svn transforme les commits de fusion en commits normaux en les soumettant à SVN (ou lors de la mise à jour de SVN).

Pour une solution potentielle pour les fusions futures, consultez la documentation de l'option --mergeinfo sur dcommit dans la page de manuel de git-svn. Comme le texte l'explique, il y a encore des problèmes avec ceci, et il sera probablement nécessaire d'utiliser l'option -p pour git svn rebase si vous avez des fusions locales qui n'ont pas encore été validées.