45 votes

Propriétés de SVN Mergeinfo sur des chemins autres que la racine de la copie de travail

J'ai un dépôt svn où j'ai le tronc et une branche.

J'ai l'intention de fusionner le tronc dans la branche à intervalles réguliers, mais lorsque je fais cela, je vois de nombreux changements d'état des propriétés, en plus des changements réels du contenu du fichier.

Après une enquête plus approfondie, les changements de propriétés sont des propriétés de mergeinfo. Je ne m'attendais pas à cela car nous toujours branche et fusionne à partir du niveau racine supérieur.

J'ai utilisé la commande svn propdel et supprimé toutes les propriétés mergeinfo de la branche WC (puis annulé la modification sur la racine) avant de fusionner le tronc, et le problème a disparu.

La question est donc la suivante : comment ma branche a-t-elle obtenu tous ces changements de mergeinfo au niveau des sous-répertoires ?

30voto

Stefan Points 29091

Subversion 1.5.x ajoute beaucoup de propriétés svn:mergeinfo, même sur des fichiers/dossiers dont vous pensez qu'ils n'ont rien à voir avec la fusion. Mais Subversion les utilise toujours pour réduire le temps de fusion pour les fusions suivantes.

Si vous n'aimez pas ces propriétés, vous pouvez en toute sécurité supprimer ces propriétés svn:mergeinfo modifiées/ajoutées de tous les fichiers/dossiers qui ne faisaient pas partie de la fusion (laissez-les sur la copie de travail Root et les fichiers/dossiers qui ont reçu des changements de la fusion).

Les propriétés svn:mergeinfo de Subversion 1.6 seront considérablement réduites si tout se passe comme prévu avec la version 1.6.

6voto

Paul Wagland Points 10487

Bien qu'il s'agisse d'une question assez ancienne, je pensais juste ajouter qu'au moins une partie de ce bogue a été corrigée dans la version 1.5.5 de Subversion. De la 1.5.5 Fichier CHANGEMENTS :

do not create mergeinfo for wc-wc moves or copies (r34184, -585)

C'est-à-dire qu'il y avait un bogue dans svn avant la version 1.5 où il créait des entrées de mergeinfo qu'il n'utilisait pas, et qui étaient superflues.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X