Nous avons récemment créé une branche avec une version de code personnalisée pour un certain client. Nous travaillons sur les deux branches en même temps, en effectuant des changements «communs» dans le tronc, puis en les fusionnant à la branche.Conflits lors de la fusion dans la branche de certaines modifications du code supprimé
Récemment, nous sommes arrivés à une situation difficile. En trunk/bar.c
nous avons (parmi d'autres) une fonction foo()
. Maintenant, dans branch/bar.c
la fonction a été supprimée, car il n'y a aucune utilité pour cela. Les problèmes se produisent lorsque foo()
est modifié dans le trunk
. Lorsque nous fusionnons les changements dans la branche ("Merge range of revisions"), TortoiseSVN "3-way fusion" outil montre un conflit sur la méthode (c'est ennuyeux mais je peux voir quelques raisons dans cela), mais il fait aussi montrer un ensemble beaucoup d'autres changements dans le fichier - qui semblent apparaître de nulle part (ressemble un peu à si elle voulait montrer tous les changements effectués entre le tronc et la branche). Et cela rend la fusion beaucoup plus difficile, car elle est jonchée de quelques changements insignifiants et anciens.
Est-ce que des situations de ce genre vous sont arrivées? Que suggérez-vous, en particulier pour faciliter le repérage des différences importantes lors de la fusion? Comme une résolution temporaire (espérons-le), je vais essayer et #ifdef
sur les régions supprimées, de sorte que SVN penserait que le code est toujours là et qu'il est préférable de fusionner. (Malheureusement, cela va rendre le code un peu moche, et devenir plus laid quand plus de fonctions sont supprimées.)
Je remonte parce que j'ai un problème similaire –
quelle version utilisez-vous (client et serveur)? 1.4? 1,5? ... –