2008-10-30 21 views
28

Aquí está la pregunta:
¿Puede TortoiseSvn funcionar en Windows 2008 sin desactivar el Control de cuentas de usuario?Control de cuenta de usuario de TortoiseSvn y Windows Server 2008

Aquí está la historia: Acabo de mover mi servidor de prueba a Windows 2008 y estoy teniendo problemas con TortoiseSvn. He iniciado sesión como administrador, pero cuando voy a actualizar algunos códigos del repositorio de Subversion, aparece un mensaje que dice: Error No se puede configurar el archivo 'C: \ dev \ trunk.svn \ entries' de lectura-escritura : Acceso denegado Así que he visto mensajes como ese y sé que ejecutar la limpieza. Pero cuando corro la limpieza me sale: Falló la limpieza de procesar las siguientes rutas: C: \ dev \ tronco

Así investigación más a fondo me convence de que tengo un problema de permisos. Ejecutando svn status desde un símbolo del sistema me muestra que los directorios están bloqueados y en ejecución svn cleanup falla al igual que lo hizo la limpieza de tortuga. Pero cuando abro el símbolo del sistema como administrador, puedo ejecutar svn cleanup sin un problema y puedo ejecutar svn up y obtener mis archivos actualizados.

ACTUALIZACIÓN: Este es un problema de permisos de Windows UAC. Desactivar el UAC soluciona el problema. Pero me gustaría encontrar una solución que no requiera apagar el UAC. Como Tortoise es una extensión de shell de Windows, no sé cómo hacer que se ejecute como administrador.

¿Alguna sugerencia?

+0

Hacer que se ejecute como administrador solo conducirá a 'la operación solicitada requiere elevación' ventanas mensaje y la interfaz no se ejecutará en absoluto. Ver http://stackoverflow.com/a/4806112/692942 – Lankymart

Respuesta

38

haga clic derecho en su carpeta de copia de trabajo c: \ dev, seleccione "propiedades" en el menú contextual. En el cuadro de diálogo de propiedades, vaya a la pestaña de seguridad. Notará que el usuario administrador no tiene acceso completo (el usuario no figura en la lista). Agregue el usuario administrador y dele derechos de acceso completos.

Sí, el usuario administrador generalmente tiene derechos de acceso completo a todas las carpetas, pero solo después del aviso de UAC. Por lo general, las aplicaciones no proporcionan el aviso de UAC, sino que obtienen un error de acceso denegado. Para otorgarle al usuario administrador acceso total a esa carpeta sin la solicitud de UAC, debe agregar ese usuario manualmente.

+0

Este es un problema con Windows 2008. Eso no es específico de TortoiseSVN. He iniciado sesión con una cuenta de administrador cuando revisé los archivos. Windows hizo que los administradores locales agruparan al propietario de los archivos y las carpetas. En cambio, Windows debería haber hecho que mi cuenta de usuario sea el propietario. Así que, aunque creé la carpeta, no tengo derecho a editar el contenido de la carpeta hasta que otorgue mi permiso de cuenta a la carpeta. También pude acceder a la carpeta "como administrador", pero no hice el pago "como administrador". Este comportamiento simplemente no tiene sentido. –

+1

Tengo el mismo problema. Pero. Tengo un usuario (en el grupo Administradores) que se utiliza para iniciar sesión y, por lo tanto, usa TortoiseSVN en el explorador. En la misma cuenta, ejecuto VS2008 con permisos elevados (como Administrador) y uso AnkhSVN en él. Cada vez que cometo algo usando VS, Tortoise comienza a quejarse con "Acceso denegado". La configuración de seguridad en la carpeta establece el control total en el grupo Administradores. ¿Que debería hacer? –

+3

+ 1 estaba obteniendo lo mismo, se resolvió agregando el permiso para el usuario específico, aunque el permiso ya se había otorgado explícitamente al grupo de administradores. – eglasius

9

Asuma la propiedad y concédase un control total sobre C: \ Dev \ Trunk.svn y los niños. Eso debería resolver tu problema.

Aconsejaría que no apague el UAC. Sin embargo, si necesita desactivarlo, puede hacerlo a través del Panel de control \ Cuentas de usuario \ Activar o desactivar Cuenta de usuario.

+0

Creé las carpetas así que ya las tengo. Desactivar UAC de hecho solucionó el problema, pero no es la solución que estaba buscando. –

+0

En realidad, los permisos predeterminados son un poco más complicados que eso. Es posible que otra cuenta cree un archivo en una subcarpeta de una carpeta de su propiedad a la que no tendrá acceso. –

+0

Weird Tuve el grupo de Administradores locales con Control total pero todavía recibí errores sobre la base de datos que solo se leía cuando intentaba actualizar o cambiar. Agregar mi usuario explícitamente a la pestaña 'Seguridad' solucionó esto aunque soy un administrador local. Gracias por esto. Más importante aún, no tuve que sacrificar la protección UAC para hacerlo. – Lankymart

0

Uso TortoiseSVN en Windows Vista SP1 con UAC activado. No he tenido problemas Como Vista SP1 y Windows 2008 son esencialmente el mismo sistema operativo, creo que es posible que tenga otro problema.

SVN hace un gran cambio de nombre de los archivos temporales, y no es particularmente robusto si hay una violación de compartir. Descubrí que algunos productos antivirus detectarán que SVN acaba de cerrar un archivo (temporal). Lo escanearán, y mientras lo están escaneando, SVN intenta cambiarle el nombre, compartiendo la violación: boom. Los indexadores de búsqueda a veces causan el mismo problema.

Vea si puede evitar que sus directorios de origen sean indexados, o evitar que su AV haga un escaneo en tiempo real de ellos. Puede excluir los directorios, o puede excluir el proceso TortoiseProc.exe.

+0

Pude ver cómo AV e indexación podrían ser un problema, pero no tengo AV en este servidor y las carpetas están bloqueadas cada vez que intento actualizar con tortuga. Compartir problemas con el servicio de indexación sería intermitente. –

+0

Bastante justo. Mi punto es que TortoiseSVN _hace_ trabajar en ese sistema operativo. ¿Has intentado utilizar el Monitor de procesos de SysInternals para ver qué otro proceso tienen los archivos abiertos? –

-1

¿Ha intentado navegar a Archivos de programa \ TortoiseSVN \ bin en Windows Explorer y configurar "ejecutar administrador de anuncios" en TortoiseProc.exe> ​​Propiedades> Compatibilidad?

+0

Si haces eso y el UAC es explícito obtendrás un mensaje de ventana "la operación solicitada requiere elevación" y 'TortoiseProc.exe' nunca corras. – Lankymart

0

Acabamos de actualizar a SVN 1.9.3, pero usamos SVN en nuestro servidor de desarrollo para actualizar nuestros sitios de prueba directamente desde el repositorio revisando los archivos del sitio web. Descubrimos que los usuarios que no realizaron el pago original no tienen permiso para ejecutar una actualización de SVN. Ahora, todos estos usuarios son parte del grupo de administradores, y aún así no importaba, pero lo que descubrimos fue muy extraño es que puede agregar el grupo Todos a la carpeta desprotegida, y luego cualquiera puede realizar un SVN Actualizar.

No entiendo por qué el grupo de todos los que se está agregando sería capaz de realizar esto, y no cualquiera del grupo Administradores.

Me aseguré de que el grupo Administradores tuviera control total, y que se propagara a todos los subdirectorios y archivos. Daba igual.

Si alguien más tiene una explicación para esto, sería muy útil.

Cuestiones relacionadas