tortoise tag repositorio entre diferencia create crear clonar branches svn repository corruption

tag - ¿Cómo se puede dañar un repositorio SVN?



diferencia entre tag y branch svn (7)

Un par de veces ya, me metí en situaciones en las que uno de mis repositorios SVN se corrompió y pudimos hacer cualquier cosa con algunas versiones o ramas del proyecto sin saber realmente lo que hicimos. Entonces, ¿qué puede hacer que un repositorio se corrompa?

Parece que las incompatibilidades entre los clientes pueden causar problemas, más específicamente con conjuntos de caracteres.


¿Corrupción potencial del sistema de archivos o alguien molestando con los directorios svn internos?


Básicamente hay tres casos distintos:

  1. Hardware defectuoso (memoria, corrupción fs, etc.)
  2. Los usuarios con acceso de inicio de sesión al servidor pueden dañar los archivos del repositorio.
  3. Errores en Subversion.

El hardware defectuoso suele ser el más difícil de detectar, excepto en los casos más obvios. El caso 2 se puede evitar limitando el acceso de inicio de sesión al servidor. Todo lo demás es un error en Subversion. (Esto incluye problemas de compatibilidad entre el cliente y el servidor.) Nunca se debe poder dañar el repositorio simplemente mediante el uso de un cliente de Subversion (ni siquiera cuando haya un error en el cliente, IMO).


Siempre existe la posibilidad de que el hardware esté defectuoso. Las cosas como los errores de bits en la memoria pueden causar corrupción silenciosa en lugar de simplemente bloquear la computadora; si el proceso del servidor svn es el afectado, el repositorio puede dañarse.


Lo he tenido varias veces. SVN no parece funcionar bien si el cliente se va mientras el servidor tarda mucho tiempo en hacer ciertas cosas. No conozco los detalles exactos, pero he realizado algunos kill -9 s en lo que pensé que eran procesos de solo lectura y terminé teniendo que ejecutar una svnadmin cleanup después antes de que el servidor respondiera nuevamente.


Tuve una corrupción repo que me tomó un tiempo averiguar. En el servidor, accidentalmente había cambiado el propietario del directorio .svn en el repositorio a un usuario no relacionado. SVN me dio errores de corrupción después de eso hasta que eliminé y recreé el repositorio. Incluso después de que lo corregí. golpea la frente


Si los repositorios no están en el disco local de los servidores svn, sino en NFS, pueden corromperse si están usando el formato berkley db. En svn 1.5, FSFS se convirtió en el predeterminado para los repositorios nuevos: es perfectamente feliz vivir en sistemas de archivos sin bloqueo, como NFS.


Esto es bastante común en los repositorios de file:// , sin embargo, si tiene un solo usuario / servicio accediendo al repositorio, esto no sucederá.