Nous avons une configuration SVN avec une ligne de réseau stable et une branche de développement instable. Le travail de développement est (principalement) effectué sur la branche puis fusionné au tronc avant le déploiement.Comment tromper git-svn pour reconnaître les fusions faites avec svn?
J'utilise git-svn comme mon client SVN. Mon processus de fusion de tronc instable est la suivante:
git svn fetch
git co -b trunk svn/trunk
git merge --no-ff svn/unstable
git svn dcommit
svn/*
sont les branches SVN à distance.
Bien sûr, exige que personne ne commet quoi que ce soit au tronc avant que je suis fait, mais ce n'est pas un problème dans la pratique.
Les avantages de ce processus est que git enregistre maintenant les parents de la fusion engagent dans mon référentiel local. Cela ne profite pas à mes collègues, mais cela permet à git de calculer l'ancêtre commun quand I fait la fusion. C'est très souhaitable.
Et voici le frotter. Quand quelqu'un d'autre fait une fusion, git ne le sait pas. Voici un exemple:
o-...-A---o---C--- unstable
/
X--...--B---o---o--- stable
La branche instable a été créée au point X. Au point A, nous décidons de fusionner les changements de la branche instable dans la branche stable au point B. L'ancêtre commun est correctement X.
Étant donné que la fusion n'est pas enregistrée dans l'historique git, la fusion suivante en C suppose à nouveau que X est l'ancêtre commun. Je voudrais que ce soit A, comme dans le graphique suivant:
o-...-A---o---C--- unstable
/ \
X---...---B---o---o--- stable
Il n'est pas absolument nécessaire d'obtenir un graphique qui ressemble exacly comme celui sur la photo. N'importe quel graphique, qui reconnaîtrait A comme l'ancêtre commun, est parfait pour moi.
J'ai quelques options à l'esprit, comme une bonne utilisation de la branche filtre-git ou un « faux » commit qui est jamais dcommited à SVN. Cependant, aucune de mes tentatives n'a suffisamment fonctionné jusqu'à présent.
Je suis reconnaissant pour toutes les idées que vous pouvez présenter. La procédure ne doit pas nécessairement être automatique. Les fusions sont assez rares et je peux vivre avec la douleur de le faire "à la main".
Merci! C'est la première fois que j'ai entendu parler de greffes. Toujours bon d'apprendre plus. –