2009-05-26 24 views
21

Estaba revisando un repositorio (digamos foo) desde SVN mientras hacía otras confirmaciones/actualizaciones. Mi servidor murió y me quedé con un pago incompleto. Multa. El problema es cuando vuelvo para acceder al repositorio foo, pero no puedo. Simplemente se cuelga para siempre.SVN "Falló la solicitud PROPFIND en ..."

Así que fui a http://subversion.apache.org/faq.html#bdb-recovery y ejecuté svnadmin recover. Recibí un error, así que terminé usando db_recover y el comando dijo que se completó correctamente.

Ahora cuando intento acceder al repositorio, estoy consiguiendo:

svn: PROPFIND request failed on '/foo' 
svn: PROPFIND of '/foo': 500 Internal Server Error (https://svn.foobar.com) 

Además, si navego a https://svn.foobar.com/foo veo:

<D:error> 
<C:error/> 
<m:human-readable errcode="160029"> 
Could not open the requested SVN filesystem 
</m:human-readable> 
</D:error> 

Alguien tiene alguna idea?

Nota: Todos los demás repositorios funcionan. Es solo este.

+0

¿Cuál fue el error de svnadmin recover? – thekbb

Respuesta

3

corriste 'svnadmin recover' como el usuario por lo general con el repositorio (por ejemplo Apache cuenta)?

Si no, la razón podría ser que algunos archivos ahora son propiedad del usuario que ejecuta 'svnadmin recover' dejando la cuenta apache sin derechos para cambiar los archivos del repositorio.

+1

En cuyo caso un simple chown apache.apache -R/ruta/a/repos debería rectificar el problema ... – stephendl

1

me dio este mensaje propfind porque se fue la luz y me había olvidado de reiniciar el svnserve y las instancias de Apache =)

0

En mi caso, necesitaba un protocolo diferente:

svn co svn+ssh://svn.xyz.com/directory 
0

Si el mensaje de error concreto es "fin permature de archivo" ... de httpd error_log mostró que:

[error] PHP Parse error: syntax error, unexpected T_STRING in /var/www/repos/... 

pero no hay un error de sintaxis.

Parece que los archivos .php se interpretan en lugar de ser tratados como texto - obviamente relacionada con la configuración de tipos MIME ...

Bueno, la respuesta es sencilla:

AddType text/plain .php 

añadir que a su archivo de configuración de host virtual y apache2 dejarán de interpretar PHP dentro de ese repositorio. Source

1

Si usted es el que configura el servidor SVN a través de HTTP (S) esto podría ser simplemente el servidor Apache diciendo que no entiende PROPFIND.

En mi caso esto sucedió cuando configurar un 'Localización' en la configuración de Apache HTTPD w/o especificando que era la implementación de WebDAV SVN (el mod SVN es una extensión de WebDAV):

<Location /svn> 
     SVNParentPath /data/scm/repositories/ 
     SVNPathAuthz off 
     AuthType Basic 
     AuthName "xxxxx" 
     AuthBasicProvider ldap 
     AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub 
     Require valid-user 
    </Location> 

en lugar de esto:

<Location /svn> 
    DAV svn 
    SVNParentPath /data/scm/repositories/ 
    SVNPathAuthz off 
    AuthType Basic 
    AuthName "xxxxx" 
    AuthBasicProvider ldap 
    AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub 
    Require valid-user 
</Location> 

parece un error lógico después lo encontré, pero me tomó bastante tiempo para encontrar el error ...

1

A veces las diferentes versiones de Java instaladas pueden hacer que el complemento Eclipse SVN (mi caso Subversivo 1.7) no funcione.

Utilicé JVM 1.6, pero la ruta de mi entorno apuntó a una versión más nueva (debido a la instalación de Oracle Java web start o algo así).

Así que volví a la versión anterior de Java 1.6, y funcionó.

0

En mi caso podría resolverlo cambiando el valor de "commit to" de "https://localserver/svn/project" a "file: /// F:/Repositories/project".

Comenzó a fallar después de cambiar el puerto HTTPS, porque instalé un certificado en mi IIS localhost, y entró en conflicto con el servidor SVN Apache.

Cuestiones relacionadas