2009-04-22 13 views
5

Estamos publicando nuestro código fuente utilizando el Servidor VisualSVN que se ejecuta en Windows Server 2003. Recientemente, dividimos una parte de un proyecto en un nuevo proyecto en su propio repositorio y luego lo vinculamos al proyecto original utilizando svn:externals. Desde entonces, hemos tenido problemas cuando intentamos enviar archivos con Subclipse.¿Cómo soluciono el "Método 405 no permitido" para nuestra configuración de Subversion?

El error que estamos recibiendo es:

SVN: confirmación fallida (detalles a continuación):

SVN: PROPFIND de '/ SVN': 405 Método no permitido (https://svn.ourserver.com)

Google no ayudó mucho, y nuestra configuración parece ser correcta. También se debe tener en cuenta que hemos estado ejecutando este servidor por un tiempo sin estos problemas y, además de dividir el proyecto en dos repositorios, no se han realizado cambios en el servidor (es decir, los archivos de configuración son los mismos).

También se debe tener en cuenta que estos errores solo aparecen cuando tratamos de verificar en varios archivos a la vez. Si ingresamos un archivo a la vez, no hay errores. Además, solo aparece en Subclipse por lo que sabemos ahora, y Versions.app (OS X) parece funcionar bien, por lo que es nuestra solución actual.

¿Cómo analizo el error para encontrar la causa y posteriormente corregirla?

No soy de ninguna manera un gurú de SVN y ahora no tengo ni idea.


Parece que podemos verificar varios archivos en el mismo paquete, pero no archivos de varios paquetes. Además, cuando "dividí" el proyecto en dos repositorios, importé el repositorio original con un nuevo nombre. No hice un volcado y luego importé ese vertedero. Podría ser esa la fuente de nuestros problemas, y si es así, ¿cómo lo resolvería?

Después de algunas sacudidas parece que está relacionado con la hora de registrar archivos en diferentes repositorios. Si intento hacer una única confirmación tanto en el repositorio A como en el repositorio B (referenciado en svn:externals) al mismo tiempo, obtengo el error. Versions.app maneja esto correctamente, pero supongo que podría estar haciendo dos confirmaciones, ni una sola. Subclipse falla miserablemente. Por ahora, simplemente hacemos múltiples commits, uno para el repositorio A y otro para el repositorio B, que funciona bien. Si alguien más inteligente que yo pudiera completar los detalles de por qué sucede esto, ya sea que este tipo de configuración sea estúpida o no, etc., avance.

+0

No estoy seguro de si esto está relacionado ya que no estaba relacionado con SVN, pero la semana pasada tuve 405 errores de método no permitido en IIS y la solución fue eliminar las características de WebDav de Windows. El problema era que WebDav estaba resintonizando un comando Restful PUT antes de mi servicio. –

Respuesta

1

Requisito: contratar a un buen administrador

Problema: VisualSVN Server utiliza la autenticación basada en ruta para todos y cualquier pieza de repos en su interior. Nivel de acceso predeterminado (AFAICR) - es * = r para root y esta configuración heredada en todos los nodos a continuación (raíz del repositorio también) y cuando intenta comprometerse en un nuevo repositorio sin buenas ACL (0 configurado incorrectamente) obtener una problema

Solución: Marque la Propiedad del nuevo repositorio en el VisualSVN Server MMC-applet, y compruebe los permisos y los usuarios.En el caso más simple, el usuario, que tiene derechos de escritura (puede comprometer) en un super-repositorio (repositorio con externos) tiene que tener (si lo permite la política) derechos de escritura en el sub-repositorio (repositorio con enlaces) recursos).

Cuestiones relacionadas