2010-09-21 73 views
1

Nous avons un référentiel subversion avec des projets de haut niveau, chaque projet avec trunk/branches/tags. Et maintenant, nous devons restreindre l'accès à l'un des projets pour un nombre limité de développeurs. Tout fonctionne bien, sauf que la personne qui n'a pas accès à ce projet effectue une "mise à jour" sur le dépôt via TortoiseSVN, le message rouge 403 "interdit" lui est montré pour le projet qu'il est interdit de voir. Ceci est logique, mais les lignes d'erreur rouges pour les commandes réussies ne sont pas bonnes en général: les développeurs qui voient toujours les messages d'erreur rouges pendant la mise à jour s'habituent rapidement et peuvent ignorer un message d'erreur qui est une vraie erreur Donc, est-il possible de configurer le serveur TortoiseSVN/VisualSVN afin que les développeurs qui n'ont pas les permissions pour certains projets n'obtiennent pas de message d'erreur pour la commande "update" ciblant la racine du dépôt?TortoiseSVN: est-il possible d'ignorer les dossiers interdits lors de la mise à jour?

Répondre

3

la première place tronc

Ceci assure également que lorsque quelqu'un crée une branche (opération bon marché), il n'est pas copie rking (opération coûteuse). En plus de cela, étant donné que le verrouillage fonctionne dans Subversion, l'opération de verrouillage prendra de plus en plus de temps lorsque d'autres répertoires seront ajoutés à la copie de travail. (Cela va changer avec la version 1.7)

Notez qu'il est également possible d'utiliser sparse checkouts

+0

Peut-être que je me suis mal exprimé. Par exemple, j'ai un projet A qui est extrait comme co svn: // monserveur/svn/A/tronc C: \ A et j'ai un projet B qui est extrait comme co svn: // monserveur/svn/B/Tronc C: \ B. Maintenant, si un utilisateur qui a des droits d'accès à A et qui n'a pas de droits d'accès pour B mettra à jour svn: // monserveur/svn, il recevra un message d'erreur rouge pour "l'accès à B est interdit". C'est logiquement, mais les messages rouges sur chaque mise à jour ne sont pas très bons :( – grigoryvp

+0

il ne peut pas mettre à jour la racine du dépôt, vous pouvez seulement mettre à jour les copies de travail –

0

Je pense que la solution la plus simple est de créer un référentiel similaire à celui que vous avez, (je suppose que utilise svn: externals à les autres dépôts), mais seulement pour ceux auxquels les développeurs restreints peuvent accéder.

+0

C'est une bonne décision, mais le (s) projet (s) restreint dépend de beaucoup de choses dépôt unique courant: commun, libs etc :(. Il sera très difficile de faire correctement jouer deux dépôts avec chacun. – grigoryvp