Ce que j'essaie d'atteindre est ce qui suit: Les collègues sont dans le groupe @Coworkers, Les clients sont dans le groupe @Clients.
Le repo git doit être disponible pour lire et écrire pour tout le monde, mais il y aura des succursales spéciales. c'est-à-dire que je crée une nouvelle branche "stagiaire" et @Coworkers aura RW + Accès, mais les clients ne doivent pas être capables de r ou w. p>
Je pensais pouvoir atteindre cela par P>
repo myrepo - intern = @clients RW+ = @clients @coworkers
3 Réponses :
Je ne suis pas un expert gitolite, mais je pense em> les règles sont traitées dans l'ordre. Avez-vous essayé simplement de renverser les deux dernières lignes? C'est-à-dire une autorisation de subvention à @Clients et à @Coworkers d'abord, puis refusez d'autres informations à l'accès au stagiaire par @Clients. P>
Selon un Discussion avec l'auteur de Gitolite, la restriction d'accès en lecture n'est pas possible pour les branches: p>
Les trucs par branche de gitolite ne fonctionnent que pour l'accès à l'écriture. Ce ne fonctionne pas pour l'accès en lecture car git elle-même ne Soutien en faisant cette distinction. P> blockQuote>
Limiter l'accès à la lecture n'est pas possible dans Git par design i> - Lorsque vous clonant, vous devez toujours récupérer le référentiel complet, il n'y a aucun moyen de le contourner (sans changer fondamentalement comment git fonctionne).
Il est maintenant possible avec la fonction de copie partielle de la dernière version de Gitolite. Vérifiez ma réponse ci-dessous.
Il est maintenant possible de limiter l'accès en lecture aux succursales de gitolite avec la dernière version de gitolite v3.x à l'aide du fonction partielle-copie de gitolite
partielle-copie code> dans la section code> Activer code> du fichier ~ / .gitolite.rc li>
- SET
$ git_config_keys = '. *' code> dans le fichier ~ / .gitolite.rc li>
- Utilisez l'option de copie partielle pour avoir un autre référentiel qui est une copie de votre référentiel d'origine, mais sans certaines branches. Li>
ol>
Exemple: Si vous souhaitez que le client ait accès uniquement au Déployer code> branche p> xxx pré> si git se plaint que cela ne peut pas Supprimer la succursale principale Vous pouvez utiliser cette commande sur le serveur: p> xxx pré> Les clients peuvent désormais cloner la branche de déploiement du référentiel My-Repo-Déployer avec une commande comme celle-ci: p> xxx pré> p>