git merge
devraient être en mesure de détecter (jusqu'à un certain point) renomme.
recursive
Cela ne peut résoudre deux têtes en utilisant un algorithme de fusion à 3 voies.
En outre, cela peut détecter et gérer les fusions impliquant des renames.
Il s'agit de la stratégie de fusion par défaut lors de l'extraction ou de la fusion d'une branche.
Mais git-svn
peut uniquement importer/exporter depuis/vers SVN, ne pas effectuer la fusion.
Et la fusion est délicate:
CAVEATS
Par souci de simplicité et interopérer avec un système moins capable, il est recommandé (SVN) que tous les git svn
utilisateurs clone, vont chercher et dcommit directement à partir du serveur SVN, et évitez toutes les opérations git clone/pull/merge/push entre les dépôts git et les branches.
La méthode recommandée pour l'échange de code entre les branches git et les utilisateurs est git format-patch et git am, ou simplement 'dcommit' sur le repository SVN.
L'exécution de git merge ou git pull n'est PAS recommandée sur une branche dont vous envisagez de vous libérer. Subversion ne représente pas les fusions de manière raisonnable ou utile; les utilisateurs de Subversion ne peuvent donc voir aucune fusion effectuée. En outre, si vous fusionnez ou tirez à partir d'une branche git qui est un miroir d'une branche SVN, dcommit peut commettre à la mauvaise branche.
Si vous ne fusionnez, notez la règle suivante: git svn dcommit va tenter de commettre au-dessus du SVN nommé dans
git log --grep=^git-svn-id: --first-parent -1
Vous devez donc veiller à ce que la plus récente commettras de la branche à laquelle vous voulez vous engager est le premier parent de la fusion. Le chaos s'ensuivra autrement, surtout si le premier parent est un commit plus ancien sur la même branche SVN.
Voir cette réponse: http://stackoverflow.com/questions/2945842/using-git-svn-or-similar-just-to -help-out-with-svn-merge/3585702 # 3585702 –
Voir http://stackoverflow.com/questions/714589/can-git-svn-correctly-populate-svnmergeinfo-properties ... La partie "Edit:" de la 2ème réponse (pas la réponse acceptée) est particulièrement agréable –