Je viens de réussir à me coincer assez sérieusement en essayant de suivre les conseils de l'utilisateur619330 ci-dessus. La situation était la suivante: (1): j'avais ajouté des fichiers tout en travaillant sur ma branche initiale, branche1; (2) j'ai créé une nouvelle branche, branche2 pour un développement ultérieur, la branchant à partir du tronc et ensuite en fusionnant mes changements de la branche1 (3) Un collègue avait copié mes modifications de la branche1 vers sa propre branche, ajouté d'autres modifications, puis fusionné de nouveau vers le tronc; (4) je voulais maintenant fusionner les derniers changements du tronc dans ma branche de travail actuelle, branche2. Cela se fait avec svn 1.6.17.
La fusion avait des conflits d'arborescence avec les nouveaux fichiers, et je voulais la nouvelle version du tronc là où ils différaient, donc à partir d'une copie propre de branch2, j'ai fait un svn delete des fichiers en conflit, commité ces changements de branch2 (créant ainsi une version temporaire de branch2 sans les fichiers en question), puis j'ai fait ma fusion à partir du tronc. J'ai fait cela parce que je voulais que l'historique corresponde à la version du tronc pour éviter d'avoir plus de problèmes plus tard lors de la fusion de retour vers le tronc. La fusion s'est bien passée, j'ai eu la version du tronc des fichiers, svn st montre tout ok, puis j'ai rencontré plus de conflits d'arborescence en essayant de commettre les changements, entre la suppression que j'avais faite plus tôt et l'ajout de la fusion. J'ai fait un svn resolve des conflits en faveur de ma copie de travail (qui avait maintenant la version du tronc des fichiers), et j'ai pu commettre. Tout devrait être bon, non?
Eh bien, non. Une mise à jour d'une autre copie de branch2 a donné l'ancienne version des fichiers (avant la fusion du tronc). Donc maintenant j'ai deux copies de travail différentes de branch2, censées être mises à jour à la même version, avec deux versions différentes des fichiers, et les deux insistants pour dire qu'elles sont entièrement à jour! Vérifier une copie propre de branch2 a donné la vieille (avant-tronc) version des fichiers. Je mets à jour manuellement ceux-ci vers la version du tronc et commet les changements, reviens à ma première copie de travail (de laquelle j'avais soumis les changements du tronc à l'origine), essaie de la mettre à jour, et obtiens maintenant une erreur de somme de contrôle sur les fichiers en question. Supprime le répertoire en question, obtiens une nouvelle version via update, et enfin j'ai ce qui devrait être une bonne version de branch2 avec les changements du tronc. J'espère. Attention au développeur.