visual tutorial apache svn

apache - tutorial - Subversion E160013: error ''/ svn/xxx/! Svn/me'' ruta no encontrada*



svn vs git (4)

Recientemente actualicé la pila bitnami trac (de 0.12.2-5 a 0.12.3) en nuestro servidor y después de reconfigurar todas las secuencias de comandos y repositorios todo parecía estar bien. Pude iniciar sesión y ver el código fuente y navegar por el repositorio usando Trac . Probé revisando el código fuente y pude navegar por el repositorio a través de visualsvn y de tortuga.

Pero cuando se trataba de realizar cambios, había un problema. Tengo una excepción de ruta no encontrada. Al examinar el registro de errores en el servidor, todo lo que pude ver fue que todas las solicitudes GET estaban bien, pero las POST tenían una URL incorrecta ( !svn/me se agregó al final).

Después de pasar un par de horas revisando registros y configuraciones, ya que Subversion se actualizó de 1.6 a 1.7, esto incluye el nuevo protocolo HTTPv2 . Este protocolo de alguna manera afectó el acceso a los repositorios SVN, pero solo parece afectar los POST y no los GET.

Solución

La forma de desactivar esta nueva característica es cambiando la configuración de mod_dav_svn siguiente manera:

DAV svn ... SVNAdvertiseV2Protocol Off

El problema se resolvió y pudimos verificar nuestros cambios nuevamente.


Este fue un problema en https://trac-hacks.org , que sirve Trac en / y Subversion en /svn . Inicialmente, el problema se SVNAdvertiseV2Protocol deshabilitar SVNAdvertiseV2Protocol . Más tarde, el problema se resolvió al servir Trac desde /trac y redirigir / a /trac . Sin embargo, esa solución no era ideal debido a la redirección. Otro administrador del proyecto encontró la solución de agregar:

Alias /svn /var/www/000-default/svn

No estoy seguro de por qué esto funciona, pero es efectivo y no requiere la redirección y el servicio de Trac desde /trac .


Mi repositorio tiene alrededor de 700 000 archivos y 660 carpetas. Tuve el mismo error y estaba seguro de que SVNAdvertiseV2Protocol Off no es el camino correcto. Añadiendo

<IfModule dav_svn_module> SVNInMemoryCacheSize 262144 SVNCacheFullTexts on SVNCacheTextDeltas on </IfModule>

a /etc/apache2/mods-enabled/dav_svn.conf solucionó el problema por mí.


Resolví esto desactivando el protocolo HttpV2. Para deshabilitarlo, puede realizar cambios en las ubicaciones de configuración mod_dav_svn siguiente manera:

DAV svn ... SVNAdvertiseV2Protocol desactivado


Solo quería agregar un poco a esta "pregunta". Estaba recibiendo el mismo mensaje de error después de reubicar un servidor SVN de una máquina a otra. Se agregó un error de 500 y "! Svn / me" al final de la URL del servidor SVN, nada se comprometería pero todo lo demás funcionó. Después de horas intentando muchas cosas, resulta que la cuenta de usuario que VisualSVN / Apache estaba usando no tenía acceso de escritura al directorio de repositorio de SVN. Así que le di a la cuenta que modifique / escriba el acceso al directorio de repositorios SVN y que haya cometido un error. Lo que realmente tiene sentido porque todo menos Commit funcionaba. No estoy seguro si esto será útil para otros, pero pensé que lo publicaría aquí independientemente. Gracias por la pregunta, me ayudó a entender dónde me equivoqué.