Une explication possible est que vous pouvez oublier des parties d'un ensemble de modifications. Si la modification indique que vous fusionnez des fichiers de couverture qui se trouvent en dehors du sous-répertoire que vous avez extrait, il est toujours possible que vous oubliez de fusionner ces fichiers.
Par exemple, si vous avez un engagement comme celui-ci sur le tronc:
r5 | rich | 2009-04-16 22:22:46 +0200 (Thu, 16 Apr 2009) | 2 lines
Changed paths:
M /trunk/subdir1/main.c
M /trunk/subdir2/main.c
Change some stuff
Et vous avez une caisse de subdir1 de votre branche « stable », alors vous pouvez ensuite fusionner la mettre r5 comme ceci:
$ svn co http://example.com/svn/branches/stable/subdir1
$ cd subdir1
$ svn merge -c 5 http://example.com/svn/trunk/subdir1 .
--- Merging r5 into '.':
U main.c
$ svn ci -m"Merged r5 from trunk"
Mais cela ne se fondre la moitié de la révision 5. Pire encore, si vous revenez en arrière et regardez le journal, il affiche maintenant ceci:
$ svn log -g http://example.com/svn/
...
------------------------------------------------------------------------
r5 | rich | 2009-04-16 22:22:46 +0200 (Thu, 16 Apr 2009) | 2 lines
Changed paths:
M /trunk/subdir1/main.c
M /trunk/subdir2/main.c
Merged via: r6
Change some stuff
Ainsi, il semble que vous ayez fusionné tout le commit, alors qu'en fait vous n'en avez fusionné qu'une partie. Bien sûr, r6 montre qu'un seul fichier a changé sur la branche stable.
------------------------------------------------------------------------
r6 | rich | 2009-04-16 22:28:16 +0200 (Thu, 16 Apr 2009) | 1 line
Changed paths:
M /branches/stable/subdir2
M /branches/stable/subdir2/main.c
Merge revision 5 from trunk
Quelqu'un doit se rappeler, ou un avis, qu'une partie seulement de l'ensemble de changement se est fusionné et le reste a besoin de faire. Ne pas utiliser les fusions de sous-répertoires évite ce problème.
Il y a des moments où vous ne voulez vraiment pas fusionner tous les commit précédents, et le scénario ci-dessus est exactement ce que vous vouliez faire. Dans ce cas, il est probablement préférable d'ajouter un bon message de validation décrivant vos intentions.
J'aime le titre :) – Dunaril