He configurado subversion y apache en mi servidor.
Si lo busco a través de mi navegador web, funciona bien ( http://svn.host.com/reposname ). Sin embargo, si hago un pago en mi máquina me sale el siguiente error:
Command: Checkout from http://svn.host.com/reposname, revision HEAD, Fully recursive, Externals included
Error: Repository moved permanently to 'http://svn.host.com/reposname/'; please relocate
Revisé el registro de errores de apache, pero no dice nada. (lo hace ahora - ver edición)
Mis repositorios se almacenan en: / var / www / svn / repos /
Mi sitio web está almacenado en: / var / www / vhosts / x / ...
Aquí está el archivo conf para el subdominio:
<Location />
DAV svn
SVNParentPath /var/www/svn/repos/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/auth/svn.htpasswd
Require valid-user
</Location>
La autenticación funciona bien.
¿Alguien sabe qué podría estar causando esto?
- Editar
Así que reinicié Apache (nuevamente) y lo intenté nuevamente y ahora me da un mensaje de error, pero en realidad no ayuda. Alguien tiene una idea de lo que significa?
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] Could not fetch resource information. [403, #0]
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] (2)No such file or directory: The URI does not contain the name of a repository. [403, #190001]
- Editar 2
Si lo hago svn info
, no da nada útil:
[root@server domain.com]# svn info http://svn.domain.com/repos/
Username: username
Password for 'username':
svn: Repository moved permanently to 'http://svn.domain.com/repos/'; please relocate
También intenté hacer un pago local ( svn checkout file:///var/www/svn/repos/reposname
) y eso funciona bien (también agregar / confirmar funciona bien). Entonces parece que tiene algo que ver con apache.
Alguna otra información:
- Estoy ejecutando CentOs 5.3
- Plesk 9.3
- Subversion, versión 1.6.9 (r901367)
- Editar 3
Intenté mover los repositorios, pero no hizo ninguna diferencia.
selinux está deshabilitado, así que tampoco lo es.
fuente
Options +indexes
eso que realmente no debería hacer nada útil en una ubicación svn?Respuestas:
Tuve esto recientemente ... pero resultó que había olvidado la url :)
Una cosa que debe hacer es asegurarse de que su ubicación svn no se superponga con ningún sitio web que pueda ser servido por Apache. es decir, si configura su DocumentRoot como / www, y su ubicación svn como / www / svn ... entonces está en problemas: Apache no sabrá con qué se supone que sirve (es decir, los controladores especiales svn o un controlador http directo).
Vea la entrada de preguntas frecuentes para esto .
fuente
Alias svn /repositories
y luego configuré todo<Location /svn/ >
. El problema era exactamente como en el enlace de preguntas frecuentes, aunque misteriosamente funcionó perfectamente durante un mes y luego se detuvo un miércoles por la tarde a la hora del té. Si su repositorio está en "/", tendrá una superposición con su directiva DocumentRoot.Intente verificar
http://svn.host.com/reposname/
(tenga en cuenta la barra inclinada final).fuente
Consulte esta web: http://www.rkrishardy.com/2009/12/subversion-fix-svn-copy-causes-repository-moved-permanentl/
Probablemente el alias apunta al mismo lugar que congfigurado es dav_svn.mod, y hay una condición de carrera entre apache y dav_svn al acceder al repositorio.
Se explica mejor en el artículo provisto.
En dav_svn.conf:
En apache_site.conf
fuente
Tengo una configuración de vhost con mi repositorio en
svn.mydomain.com/sites/
mi vhost tenía un bloque DocumentRoot y Location. La eliminación de la documentroot resolvió este problema.fuente
Recibí este error cuando coloqué mi repositorio por error en el árbol html servido por Apache, en mi máquina FC14 con subversión basada en RPM e instalaciones de apache.
SVNParentPath (en /etc/httpd/conf.d/subversion.conf) debe apuntar a un directorio fuera de DocumentRoot.
Saqué mi repositorio y el problema desapareció.
Espero que esto ayude.
fuente
Sé que esto es antiguo, pero lo encontré en Google porque tenía el mismo problema. Asegúrese de que el puerto 7080 no esté bloqueado por la computadora o el firewall del servidor
fuente
Parece que no lo estás haciendo
svn checkout
, sino más biensvn update
en un repositorio existente (?).Si es así, haz esto:
svn switch --relocate http://svn.host.com/reponame
fuente
¿Movido permanentemente? ¿Puede algo como HTTPFox o algo así y verificar que Apache está dando el código de estado correcto para su repositorio (debería ser
200/OK
). Creo que el código de estado301
corresponde a una URL que se ha "movido permanentemente" y que suena a lo que se refiere el cliente svn.fuente
http://svn.server.com/repos
) funciona muy bien, obtengo "repos - Revisión 0: /" y todo. El problema solo ocurre cuando hago un pago.Tal vez un poco tarde en la conversación, pero veo esto cuando uso un Alias en la configuración de apache para lidiar con el '/' final: Alias / svn / path / to / svn /
fuente
También debe asegurarse de que ninguna directiva Alias se asigne a la ubicación de los repositorios svn. Tuve esto recientemente cuando tuve
donde el alias y la directiva de ubicación se aplican a la misma ruta.
fuente
Acabo de tener un problema similar no cuando CHEQUEO, sino cuando se realizó un COMPROMISO.
¿La razón? esta carpeta "obj \ Debug \ TempPE", por alguna extraña razón de que la carpeta "TempPE" no es posible COMPROMETERLA al repositorio
¿Solución? ... COMPROMETE todas las demás carpetas del proyecto una por una y elimine esa ubicación del servidor SVN
fuente