2010-11-22 3 views
0

J'ai un référentiel unique svn pour tous mes projets. Dans svn j'ai aussi un répertoire qui contient le compilé bibliothèques (comme .dll, .swc) qui sont directement référencés par les projets.SVN: montrer uniquement des parties spécifiques de l'arbre svn à un utilisateur

Je veux qu'un autre développeur fasse un projet pour moi et je ne veux pas lui ouvrir tout mon svn. Si ce n'était que de ne pas être en mesure de commettre, je voudrais juste définir la permission de lecture dans authz, mais Je ne veux pas qu'il voit tous mes autres code source.

Je ne veux pas qu'il fasse deux checkouts, un pour le projet et un pour le dossier de bibliothèque, parce que tous les chemins relatifs seraient foiré si j'essaye de le vérifier et le compiler.

Alors voulez ce qui suit: Une caisse de tronc de cet utilisateur devrait conduire à une caisse qui contient la structure des dossiers de tous à cet utilisateur répertoires pertinents, tous omettant non pertinente.

i.e. .: Si mon svn checkout svn ressemble à ceci:

-trunk 
|-BinLibrary 
|-Project 1 
|-Project 2 
|-ExternalProjects 
|-Project 3 

Je veux son caisse pour ressembler à ceci:

-trunk 
|-BinLibrary 
|-ExternalProjects 
|-Project 3 

Est-ce possible? Si oui: Comment?

Toute aide est appréciée!

Edit: J'utilise svnserve dans un environnement Windows (pas apache)

Répondre

1

Dans le fichier authz, dans les username = permission lignes, laissant l'autorisation vide signifie que l'utilisateur respectif n'a aucun accès, même pas lu. In the manual, considérez cet exemple:

[calc:/branches/calc/bug-142] 
harry = rw 
sally = r 

[calc:/branches/calc/bug-142/secret] 
harry = 

harry ne peut pas lire secret.

Vous ne pouvez accorder à aucun autre utilisateur aucune autorisation sur l'ensemble du référentiel, puis sur le chemin spécifique en lecture-écriture.

+0

+1 L'utilisation de cette technique ne produira pas le résultat exact demandé. Même si les noms de répertoire Projet 1 et Projet 2 apparaîtront à la caisse, il n'y aura pas de contenu sous ces répertoires. Et si l'utilisateur essaie d'ajouter quelque chose à ces répertoires sur leur copie de travail locale, ils le peuvent, mais ils ne seront pas en mesure de les valider dans le référentiel. – jgifford25

+0

Mais si je spécifie dans authz "[/] username =" et quelque part ci-dessous "[/ trunk/externalprojects/projet 3] username = rw" svn dit "L'autorisation a échoué".Si j'accorde l'accès en lecture en root tout va bien (mais expose toutes les sources ce que je ne veux pas ...). –

+0

Je dois ajouter que dans svnserve.conf j'ai spécifié "anon-access = none" et laissé "auth-access" avec sa valeur par défaut. –

0

donnent peut-être un aller:

Per Directory Access Control

+0

Ce lien est sur l'utilisation du serveur apache - mais j'utilise svnserve dans un environnement Windows (maintenant ajouté cette info à ma question) - mais de toute façon: Merci! –