¿Cómo puedo hacer que solo aparezcan algunas carpetas para ciertos desarrolladores con SVN?
-
22-07-2019 - |
Pregunta
Tengo un repositorio con un montón de carpetas, y quiero que ciertos desarrolladores solo obtengan dos o tres de esas carpetas cuando realicen un pago en el repositorio. ¿Cómo puedo hacer que las carpetas no se muestren de manera predeterminada y luego agregarlas solo cuando quiero otorgar acceso?
Estoy usando VisualSVN para el servidor SVN, y lo que he hecho es dar acceso de lectura al nivel superior, luego denegar el acceso a cada subcarpeta, luego cambiar la denegación para leer / escribir en las carpetas a las que quiero que acceda cada desarrollador . Esto es una molestia porque cada vez que agrego una nueva carpeta, tengo que entrar y denegar el acceso a ella.
Intenté simplemente otorgar lectura / escritura en las subcarpetas, pero cuando intentan pagar en el padre, les da un error. Solo quiero que los desarrolladores tengan que hacer un pago en la carpeta de nivel superior.
Esto es lo que quiero:
RepoFolder (dev1 checks out this)
- References (this shows to dev1)
- Project1 (this shows to dev1)
- Project2 (this does not show to dev1)
- Project3 (this does not show to dev1)
- Project4 (this does not show to dev1)
Solución
No creo que sea posible hacer exactamente lo que quieres, que es dejar que todos revisen http : //example.com/svn/repos/ y dependiendo de quién eres ves cosas diferentes.
Estás en el camino correcto al denegar el acceso a las carpetas. Lo que puede hacer es crear una " vista " carpeta de ciertos desarrolladores. Supongamos que todos sus proyectos se ven como
http://example.com/svn/repos/projects/
+- References
+- Project1
+- Project2
Agregue otra estructura de carpetas llamada vistas.
http://example.com/svn/repos/
+ projects/
+- References
+- Project1
+- Project2
+ views/
+- View1
Ambas vistas
y View1
no son más que carpetas simples. El truco es establecer svn: externals
propiedades en la carpeta View1
a http://example.com/svn/ repos / projects / References y http://example.com/svn/repos/ proyectos / Proyecto1 . Cuando alguien revisa View1
, también revisará References
y Project1
debajo de él. Espero que esto ayude.