Solía usar SVN 1.4 en OS X Leopard y todo estaba bien. Hace un par de semanas instalé una nueva copia de OS X 10.6. La versión de SVN que viene con Snow Leopard es 1.6.5. Seguí adelante y construí mi propia copia con 1.6.6. Estoy usando el servidor de Apache incorporado y solo estoy alojando repositorios localmente.¿Cómo se soluciona un error de conflicto SVN 409
Todo parecía funcionar bien hasta que realmente intenté confirmar algo. Cada vez que intento de cometer un cambio, aparece el siguiente mensaje:
Transmitting file data .svn: Commit failed (details follow):
svn: MERGE of '/svn/svn2': 409 Conflict (http://localhost)
Esto sucede con mis viejos repositorios, así que creé un par de otras nuevas. El mismo trato. También traté de usar la versión 1.6.5 que viene con el sistema ... lo mismo. Finalmente, intenté actualizar al último SVN estable (1.6.9) y todavía tengo el mismo problema. registra
El error de Apache lo siguiente para cada fallidos comprometerse:
[Mon Mar 29 19:53:10 2010] [error] [client ::1] Could not MERGE resource "/svn/svn2/!svn/act/d399326f-c20f-424f-bb68-3bb40503b5b1" into "/svn/svn2". [409, #0]
[Mon Mar 29 19:53:10 2010] [error] [client ::1] An error occurred while committing the transaction. [409, #2]
[Mon Mar 29 19:53:10 2010] [error] [client ::1] Can't open directory '/usr/local/svn/svn2/db/transactions/5-6.txn/\xeb\xa9\x0f\x1f': No such file or directory [409, #2]
[Mon Mar 29 19:53:11 2010] [error] [client ::1] Could not DELETE /svn/svn2/!svn/act/d399326f-c20f-424f-bb68-3bb40503b5b1. [500, #0]
[Mon Mar 29 19:53:11 2010] [error] [client ::1] could not open transaction. [500, #2]
[Mon Mar 29 19:53:11 2010] [error] [client ::1] Can't open file '/usr/local/svn/svn2/db/transactions/5-6.txn/props': No such file or directory [500, #2]
Y desde el registro de acceso:
::1 - - [30/Mar/2010:13:02:20 -0400] "OPTIONS /svn/svn2 HTTP/1.1" 401 401
::1 - user [30/Mar/2010:13:02:20 -0400] "OPTIONS /svn/svn2 HTTP/1.1" 200 188
::1 - user [30/Mar/2010:13:02:20 -0400] "PROPFIND /svn/svn2 HTTP/1.1" 207 647
::1 - user [30/Mar/2010:13:02:20 -0400] "PROPFIND /svn/svn2 HTTP/1.1" 207 647
::1 - user [30/Mar/2010:13:02:20 -0400] "PROPFIND /svn/svn2/!svn/vcc/default HTTP/1.1" 207 398
::1 - user [30/Mar/2010:13:02:20 -0400] "PROPFIND /svn/svn2/!svn/bln/6 HTTP/1.1" 207 449
::1 - user [30/Mar/2010:13:02:20 -0400] "REPORT /svn/svn2/!svn/vcc/default HTTP/1.1" 200 1172
Curiosamente, el commit que realmente hace confirmar los cambios, pero la copia de trabajo doesn No veo eso y todo se torce.
He intentado buscar en Google todas las variaciones que se me ocurren para este problema, pero los resultados de la búsqueda son bastante inútiles. No estoy usando TortoiseSVN ni nada especial y comete errores en un nuevo repositorio, así que sé que no es un problema con mis viejos repositorios.
Cualquier ayuda sería muy apreciada.
actualización
He intentado añadir autoversionado a mi archivo svn.conf. Esto es lo que dice mi archivos:
LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so
<Location /svn>
DAV svn
SVNParentPath /usr/local/svn
SVNAutoversioning on
# how to authenticate a user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/etc/svn-auth-file
# only authenticated users may access the repository
Require valid-user
</Location>
Update (Solución)
Sólo quería actualizar esto con la solución real en cualquier caso más está teniendo el mismo problema con los mensajes de error no valen para nada. El problema fue con las partes apr y apr-util (como se sugirió el esquema). Estaba construyendo una copia de ambos usando el paquete de dependencias de subversión. OS X 10.6 también tiene su propia versión. Ambas versiones fueron 1.3.8. Aparentemente, sin embargo, necesitaba usar las versiones que estaba usando la instalación apache predeterminada.
Así que eliminé las carpetas apr y apr-util de mi compilación de subversión, para asegurarme de que no estaba construyendo mi propia copia de estas de nuevo. Construí SVN fuente de nuevo, esta vez utilizando la siguiente configuración:
./configure --with-apr=/usr/bin/ --with-apr-util=/usr/bin/ --with-ssl
Después de construir de nuevo, me reinicia Apache, y ha creado un nuevo repositorio SVN. Pude comprobarlo, hacer cambios y comprometerme sin problemas. Luego probé mis viejos repositorios y esos también funcionaron.
¡Gracias a todos por la ayuda!
No hay ganchos en su lugar (a menos que haya algo encendido por defecto que desconozco). Y no, parece que esos dos registros no son de lo mismo para comprometerse. Agregando el bit de autoversioning a mi svn.conf no pareció tener ningún efecto sobre el problema. Gracias por tu ayuda. Estoy en mi ingenio en este. – NerdStarGamer
Agregué otro pensamiento que pegué de varios resultados de Google. Tiene algún sentido para mí, pero hay que admitir que es muy vago. – scherand
Agradable. Finalmente lo tengo funcionando. Fueron esos aprs como sugirió. – NerdStarGamer