SVNBOOK Chap4 Branching and Merging Advanced Merging Blocking Merge-Unaware Clients
De Framalang Wiki.
Cette page fait partie du projet Version control with subversion.
| Pseudo | Code | Rôle | Statut |
|---|---|---|---|
| Sub Versif | SVF | Traduction | Fait |
| Hotshot92 | Relecture | Fait | |
| Validation |
Titre
Blocking Merge-Unaware Clients
Bloquer les clients qui ne prennent pas en compte les fusions
Paragraphe 1
If you've just upgraded your server to Subversion 1.5 or later, there's a significant risk that pre-1.5 Subversion clients can mess up your automated merge tracking. Why is this? When a pre-1.5 Subversion client performs svn merge, it doesn't modify the value of the svn:mergeinfo property at all. So the subsequent commit, despite being the result of a merge, doesn't tell the repository about the duplicated changes - that information is lost. Later on, when "merge-aware" clients attempt automatic merging, they're likely to run into all sorts of conflicts resulting from repeated merges.
Si vous venez de mettre à niveau votre serveur Subversion à la version 1.5 ou plus, il existe un risque significatif que les clients Subversion pré-1.5 sèment la pagaille dans votre suivi automatique des fusions. Pourquoi ? Quand un client Subversion pré-1.5 exécute svn merge, il ne modifie pas du tout la valeur de la propriété svn:mergeinfo. La propagation qui s'ensuit, bien qu'elle soit le résultat d'une fusion, n'envoie donc aucune indication au dépôt au sujet des modifications dupliquées - ces informations sont perdues. Par la suite, lorsque des clients qui prennent en compte les fusions tentent d'effectuer une fusion automatique, il est probable qu'ils rencontreront toutes sortes de conflits résultant des fusions répétées.
Paragraphe 2
If you and your team are relying on the merge-tracking features of Subversion, you may want to configure your repository to prevent older clients from committing changes. The easy way to do this is by inspecting the "capabilities" parameter in the start-commit hook script. If the client reports itself as having mergeinfo capabilities, the hook script can allow the commit to start. If the client doesn't report that capability, have the hook deny the commit. We'll learn more about hook scripts in the next chapter; see the section called "Implementing Repository Hooks" and start-commit for details.
Si votre équipe et vous dépendez des fonctionnalités de suivi des fusions de Subversion, vous voudrez peut-être configurer votre dépôt pour qu'il empêche les anciens clients de propager des modifications. La méthode la plus simple est d'examiner le paramètre "capabilities" dans la procédure automatique de début de propagation. Si le client indique être capable de gérer les mergeinfo, la procédure automatique peut l'autoriser à commencer la propagation. Si le client n'indique pas en être capable, la procédure automatique doit lui refuser la propagation. Nous en apprendrons plus sur les procédures automatiques dans le chapitre suivant ; voir le paragraphe appelé "Mise en place de procédures automatiques sur le dépôt" et notamment la procédure automatique activée en début de propagation pour les détails.

