2011-01-14 16 views
5

Cuando confirmo no tuve ningún error. Ahora tratamos de salida y conseguí este errorSubversion No se puede leer la línea de longitud en el archivo

No se puede leer la longitud de línea en el archivo 'c: \ SVN \ db \ Revs \ 0 \ 14'

me han tratado revisión anterior no lo hace trabajo tampoco ¿Significa que perdí todo en subversión?

+0

No veo cómo esto está relacionado con la programación. – unwind

+1

@unwind De [ayuda -> ¿Qué temas puedo preguntar aquí?] (Http://stackoverflow.com/help/on -topic) "herramientas de software utilizadas comúnmente por los programadores" –

+0

Genial, este problema todavía ocurre 3 años luego. Afortunadamente no en una gran base de código comercial y no tengo demasiada historia perdida de la que preocuparme, así que estoy tentado de empezar de nuevo con git. – leetNightshade

Respuesta

1

Tuve el mismo problema y aquí está la solución simple que encontré sin administrar el repositorio SVN.

  1. el error fue producido por un archivo específico que tuve que confirmar.
  2. he cometido todos los demás archivos modificados Ok
  3. he copiado el archivo local en el escritorio como una copia de seguridad
  4. SVN-> Eliminar archivo
  5. confirmar la carpeta. Tuvo éxito
  6. añade el archivo desde el escritorio en la carpeta local
  7. SVN -> añadir, svn-> cometen

problema fijo. Creo que de esta manera pierdes las versiones anteriores del archivo del repositorio pero esto no fue un problema para mí.

Espero que esta información pueda ayudarlo.

+3

Gracias es aterrador que svn pueda dañar archivos. – user310291

1

Parece que la base de datos de Berkeley está dañada, debe usar FSFS backend la próxima vez. Por ahora, vea Berkeley DB Recovery.

1

Esto parece ser error SVN o alguna falla H/W. Comenzaría a buscar una copia de seguridad. Si no tiene uno, puede enviar su copia de trabajo local al nuevo repositorio.

2

Puede ejecutar

svnadmin verify /var/svn/repo 

para comprobar su repositorio.

En caso de usar Berkeley DB (no debería),

svnadmin recover /var/svn/repo 

puede ayudar.

+1

No funciona. – Dmitry

0

Parece que db se ha dañado para una de sus revisiones.

Así, en un primer momento puede actualizar a la revisión anterior y cambiar la última revisión en dB:

svn update -r99 
vi /var/svn/site/db/current 
[change number to "99"] 

lo que usted debe saber en qué directorio se rompe y se sustituya en el repositorio. [corrompido] - nombre de su directorio corrupto.

cd /var/www/site/ 
svn delete --keep-local [corrupted] 
svn ci [corrupted] -m "Remove corrupted directory from repository" 
rm -rf `find /[corrupted] -name .svn` 
svn add [corrupted] 
svn ci [corrupted] -m "Add fixed directory" 
Cuestiones relacionadas