El fondo (pase a la parte inferior si desea que la cuestión)AnkhSVN rompe permisos de uso compartido con ASP.NET 1.7 SVN
Recientemente he actualizado un repositorio SVN (alojado en assembla) a SVN 1.7. Después de hacerlo, comenzamos a encontrar intermitentemente muchos errores File Access Denied
en las páginas del sitio ASP.NET que se encuentran en la copia de trabajo local del repositorio.
Algunas carpetas también comenzaron a obtener permisos de archivos extraños (se marcaron como de solo lectura) y se les quitó la función de compartir usuarios. Estos problemas solo comenzarían a ocurrir después de un ciclo de actualización/confirmación, a través del complemento Visual Studio de AnkhSVN, pero no todo el tiempo; parecía altamente temperamental.
La única solución temporal que hemos encontrado hasta ahora es la de confirmar los cambios pendientes, eliminar la copia local y volver a realizar una copia de trabajo completa (con TortoiseSVN). Sin embargo, esa no es una solución viable, y está afectando seriamente la productividad.
Este sitio es un WebWorkerRole de ASP.NET basado en Azure. Nunca ha dado problemas antes de la actualización a SVN 1.7. Intenté juguetear con los permisos internos de IIS para evitar el problema, sin embargo, no hay dados.
Mi Entorno
- Visual Studio 2010 Ultimate SP1 10.0.40219.1
- AnkhSVN 2.3.10509 (última versión, compatible con SVN 1.7.1)
- TortoiseSVN 1.7.1, Build 22161 - 64 Bit
- se ejecuta en modo de depuración a través del ambiente emulador Azure
La pregunta
¿Es posible que SVN 1.7 o cualquiera de las herramientas en mi entorno rompa los permisos de los archivos para que los archivos se vuelvan inutilizables en un sitio ASP.NET? y más importante, ¿cómo puedo arreglar esto?
El error exacto de permisos de ficheros objeto de dumping a cabo es la siguiente:
acceso a la ruta '// // archivo' denegado.
Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción: System.UnauthorizedAccessException: El acceso a la ruta '// file //' está denegado.
ASP.NET no está autorizado para acceder al recurso solicitado. Considere concediendo derechos de acceso al recurso a la identidad de solicitud de ASP.NET identidad. ASP.NET tiene una identidad de proceso base (normalmente {MACHINE} \ ASPNET en IIS 5 o Servicio de red en IIS 6 e IIS 7, y la identidad del grupo de aplicaciones configurado en IIS 7.5) que se utiliza si la aplicación no se hace pasar por .Si la aplicación es suplantando a través de, la identidad será el usuario anónimo (generalmente IUSR_MACHINENAME) o el usuario de la solicitud autenticada .
Para otorgar acceso a ASP.NET a un archivo, haga clic con el botón derecho en el archivo en Explorer, seleccione "Propiedades" y seleccione la pestaña Seguridad. Haga clic en "Agregar" para agregar al usuario o grupo apropiado. Resalte la cuenta ASP.NET y marque las casillas para el acceso deseado.
Pero una copia de trabajo limpia no generará este error. Al comparar los permisos de los dos, parece que las copias de trabajo que no tienen errores se comparten (con IUSR y la cuenta local), mientras que las que se rompieron no se comparten, pero el usuario nunca cambia el uso compartido.
¿Puede indicar de qué manera se rompen los permisos del archivo? ¿Qué están configurados, qué falta, etc.? ¿Puedes indicar cuál es la raíz de la copia de trabajo (la carpeta que contiene la carpeta .svn)? También creo que debe editar su pregunta para definir la diferencia entre el repositorio y la copia de trabajo. No clonas un "repositorio del lado del cliente" en Subversion. –
@SanderRijken: ok, lo actualizaré. en términos del pensamiento de clonación, fue algo de GIT ... – Necrolis