svn: E000002: Error de confirmación

5 minutos de lectura

avatar de usuario
emersonthis

Estoy tratando de publicar mi complemento de WordPresss en el repositorio svn que me asignaron. yo suelo git (no svn) así que estoy tratando de usar git-svn pero recibo el siguiente error cuando intento enviar mi repositorio git local usando estas instrucciones:

$ git svn dcommit
Committing to http://plugins.svn.wordpress.org/wp-github-pipeline/trunk ...
    A   .bowerrc
    A   composer.json
    A   composer.lock
   ...
    A   vendor/guzzle/guzzle
b3f5050cb6270c7a728a0b74ac2de50a262b3e02 doesn't exist in the repository at /usr/local/git/lib/perl5/site_perl/Git/SVN/Editor.pm line 401.
Failed to read object b3f5050cb6270c7a728a0b74ac2de50a262b3e02 at /usr/local/git/libexec/git-core/git-svn line 1011.

He realizado muchas búsquedas (consulte “Otros recursos” a continuación) y entiendo que este problema comúnmente resulta del uso de submódulos junto con git svn. Tuve un submódulo en un punto, pero confirmé los archivos y eliminé .gitmodules usando git filter-branch descrito aquí pero el problema persistió. Así que busqué más y parece que usar composer y/o bower puede causar el mismo problema.

no he probado a quitar vendor/ desde mi .gitignore y comprometiendo todas las bibliotecas de terceros… Tengo el presentimiento de que podría funcionar, pero incluso si lo hace, no es una solución sostenible a largo plazo.

¿Hay alguna manera de decirle a git-svn que ignore mi .gitignore y cargue todos los vendor/ files?. ¿O hay otra forma de evitar comprometer TODAS mis dependencias en el repositorio? ¿O es un problema diferente de lo que pienso? ¡Gracias por adelantado!

ACTUALIZAR 1
quite vendor/** de mi .gitignore y comprometí las dependencias en mi repositorio local (pero no presioné al origen). ¡Pero obtuve exactamente el mismo error!

ACTUALIZAR 2
Copié todos los archivos en un nuevo directorio e intenté hacer una confirmación básica de svn. Sin submódulos. Todos los proveedores/archivos incluidos. Y me sale otro error:

$ svn ci -m 'Adding version 1.0 files'
Sending        trunk/.gitignore
Adding         trunk/README.md
...
Adding         trunk/vendor/wp-cli/wp-cli/utils/wp-completion.bash
Adding         trunk/wp-cli.yml
Adding         trunk/wp-github-pipeline.php
Transmitting file data .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................svn: E000002: Commit failed (details follow):
svn: E000002: Can't open file '/home/svn/repos/wp-plugins/db/transactions/1232700-rw56.txn/props': No such file or directory

Lo intenté svn cleanup y paso lo mismo

ACTUALIZAR 3
Intenté empezar de cero y ocurre el MISMO error. Aquí está la secuencia exacta de comandos:

$ mkdir pipeline_svn2
$ svn co http://plugins.svn.wordpress.org/wp-github-pipeline pipeline_svn2
$ cd pipeline_svn2

[ copied all files into pipeline_svn2/ ]

$ svn add trunk/*
$ svn ci -m 'Adding v1.0 files'

[ lots of these... ]
Adding         trunk/wp-github-pipeline.php
Transmitting file data ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................svn: E000002: Commit failed (details follow):
svn: E000002: Can't open file '/home/svn/repos/wp-plugins/db/transactions/1233755-rx30.txn/props': No such file or directory

Me hace pensar que algo está jodido en el servidor.

Otros recursos

  • Partiendo de cero, antes de intentar dcommit puedes intentar este para “arreglar” el problema de los submódulos de git con svn?

    – El Artista del Código

    30 de agosto de 2015 a las 7:38


avatar de usuario
emersonthis

Finalmente llegué al fondo de esto…

Después de hablar con el equipo de complementos de WordPress, me recomendaron que intentara usar el https: protocolo (en lugar de http:):

En lugar de usar http://plugins.svn.wordpress.org/wp-github-pipeline como la URL de SVN de su complemento, intente usar https://plugins.svn.wordpress.org/wp-github-pipeline en cambio.

A veces, los proxies y varios enrutadores y otros tipos de modificadores de tráfico interfieren con el tráfico SVN, para algunas personas. El uso de https permite el cifrado de extremo a extremo, evitando que la mayoría de estos alteren el tráfico y causen este tipo de problemas.

hice el cambio con svn relocate y todavía no funcionó, pero dio un mensaje de error más detallado. Así que investigué un poco más y encontré esta publicación lo que sugiere que mi nuevo error podría estar relacionado con permisos/autenticación.

Por una corazonada, volví a autenticarme después de eliminar el archivo en ~/.subversion/auth/svn.simple e hizo un nuevo svn co y comencé desde cero, usando https: y luego finalmente funcionó!

No estoy seguro si el problema estaba relacionado con la redirección http–>https o un problema con la autenticación (tengo dos cuentas de WordPress.org).

  • No entiendo completamente cómo el acceso HTTPS vs HTTP podría resolver esto. ¿Algún detalle del equipo de complementos de WordPress?

    – bahrep

    31 de agosto de 2015 a las 15:14


  • @bahrep Agregué la cita directa anterior.

    – emersonthis

    31 de agosto de 2015 a las 15:21

Tuve el mismo problema hoy. En una confirmación, reemplacé accidentalmente un enlace simbólico por un submódulo. Había dos problemas:

  1. cambiar el tipo de algo no es posible en una confirmación en svn, por ejemplo, archivo -> directorio, directorio -> archivo, archivo -> enlace simbólico, etc.
  2. obviamente, los submódulos de git son una característica de git y no pueden ser manejados por git svn

No invertí más tiempo en descubrir cuál de estos dos problemas realmente detuvo a git svn

¿Ha sido útil esta solución?