41 votes

Comment résoudre un conflit de fusion avec des propriétés SVN?

Cela a été m'énerve depuis longtemps: comment puis-je résoudre un conflit de fusion dans le SVN définir les propriétés d'un répertoire? Dire, par exemple, il y a deux développeurs qui travaillent sur un projet où svn:ignore est définie sur un répertoire. Si les deux développeurs de faire des changements à cette propriété, lorsque la seconde mise à jour, ils vont voir un conflit de fusion.

Contrairement au fichier des conflits de fusion, un seul fichier est généré dans le répertoire appelé "dir_conflicts.préjugés", le deuxième, le développeur doit de lire et de corriger manuellement. Généralement, ce que j'ai fini par faire, c'est de revenir toutes les modifications que j'ai apportées à la copie locale, puis re-définition de ces propriétés manuellement avec l'info en dir_conflicts.préjugés. Cependant, c'est plutôt encombrant lorsqu'il traite avec une grande liste d'Url dans une propriété svn:externals, comme beaucoup de nos projets.

Il y a obtenu d'être une meilleure façon de le faire -- est-ce que quelqu'un sait comment faire?

11voto

Nik Reiman Points 16156

Juste une mise à jour rapide après quelques recherches supplémentaires - il n'est pas possible de fusionner facilement les propriétés SVN. La méthode décrite à l'origine (rétablir, fusionner des données à partir de fichiers .prej, propset, re-commit) semble être le meilleur moyen de traiter ce type de problème.

3voto

Gregor Points 312

En attendant, cela est possible dans Eclipse + Subclipse (Indigo) en utilisant la fonction

Equipe-> Modifier les conflits de propriétés

(juste essayé avec des propriétés svn: ignore en conflit)

Cette fonction ouvre une boîte de dialogue qui affiche les deux versions de propriétés (locale et référentiel), dans lesquelles vous pouvez copier et coller, puis résoudre le conflit en utilisant Equipe-> Marquer comme résolu.

1voto

Noah Goodrich Points 12645

J'aimerais pouvoir offrir une solution plus optimiste, mais de par mon expérience, il n'est actuellement pas possible de fusionner des propriétés svn à l'aide de TortoiseSVN. Voir http://svn.haxx.se/tsvn/archive-2008-09/0212.shtml .

1voto

jtimberman Points 5637

Voulez-vous dire un conflit de fusion lors de la validation/mise à jour ou de la branche de fusion?

Le SVN Livre est assez clair sur la propriété svn:ignore en particulier:

La Subversion ne suppose pas que tous les fichier ou sous-répertoire dans une copie de travail le répertoire est prévu pour la version de contrôle. Les ressources doivent être explicitement placé sous la Subversion de la gestion de la à l'aide de la svn add ou svn import commandes.

...

Pour forcer tous les utilisateurs de ce référentiel d'ajouter des motifs de ces ressources à leur configuration d'exécution serait pas seulement un fardeau, mais a le potentiel pour entrer en conflit avec la configuration besoins des autres copies de travail que l'utilisateur a vérifié.

0voto

BrianV Points 1

Soyons clairs, SVN semble utiliser le fichier dir_conflicts.prej pour déduire le fait que le répertoire est en conflit. Si vous avez l'intention de régler manuellement le conflit, vous pouvez simplement supprimer le fichier dir_conflicts.prej, puis définir manuellement les propriétés svn comme vous le souhaitez. (Bien sûr, assurez-vous d’obtenir ce dont vous avez besoin du fichier .prej avant de le supprimer!)

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