Dans les jours précédant un communiqué, nous aimerions pouvoir empêcher les développeurs de commettre des dossiers à la Direction générale de subversion, à moins qu'un chef d'équipe ait examiné et approuvé les modifications (auquel cas échéaient un changement temporaire pour permettre à cette question. ). p>
Auparavant, nous avons utilisé ClearCase, dans lequel cela était relativement facile à faire. P>
Depuis la commande SVN: verrouillage ne fonctionne que sur une base par fichier, nous sommes incertains si nous pouvons imiter ce comportement en subversion. P>
Que faites-vous? P>
4 Réponses :
Vous pouvez consulter les clients GUI SVN qui ont généralement une interface / fonctionnalité plus riche que d'une ligne de commande une. Par exemple, j'utilise tortoisesvn fort> qui a des options Obtenez la serrure de verrouillage / libération forte> applicable pour verrouiller tous les fichiers du dossier sélectionné de manière récursive. BTW, il dispose également d'une option pratique de faire des balises / une succursale et de la passer à une action. p>
Cette réponse répond mieux à ma question, mais le mécanisme de verrouillage de get / libération est assez lent, car il effectue de manière récursive le changement sur tous les fichiers. Par conséquent, je ne suis pas sûr que nous utiliserions cette approche.
Droite, nous utilisons de manière approfondie le référentiel SVN et n'utilisons pas de verrouillage. Nous avons des conventions sur le tronc / les balises / branches, de sorte que personne ne s'engage à des balises; Nous ne faisons que des corrections de bugs dans la branche de version et toute l'activité sur le projet peut être facilement vue via Websvn.
Vous pouvez ajouter un crochet de pré-validation sur le serveur, qui vérifie si la cible de validation contient des branches fermées et peut-être un mot clé dans le message de journal pour contourner ce chèque. P>
Pensée latéralement - pourquoi ne pas simplement créer une succursale au point où vous souhaitez "verrouiller" cela et ne vérifiez que ce numéro de révision dans votre processus de construction / de sortie. p>
Les développeurs peuvent toujours s'inscrire au coffre (ou quelle que soit autre succursale qu'ils travaillent) et si un chef d'équipe approuve les modifications de la libération, elles peuvent être fusionnées dans la branche. Accordé cela ne "verrouille pas" la branche de libération, mais au moins vous pouvez facilement suivre / annuler des changements si nécessaire et cela n'empêche pas les personnes qui travaillent. La source des développeurs sera toujours dirigée vers la branche / coffre qu'ils travaillaient plutôt que la nouvelle branche de libération. P>
Créer des succursales est très bon marché et facile dans SVN (je crois). P>
Ce que nous faisons est de déplacer la succursale sur une balise et n'a que l'accès à la balise. p>