2010-02-12 11 views
8

¿Es posible eliminar un archivo, con todo el historial de versiones, desde SVN? Por ejemplo, si agrega un archivo con información financiera confidencial simplemente para hacer una copia de seguridad y luego se da cuenta de que está en un subdirectorio SVN, todos sus desarrolladores pueden ver ...¿Cómo elimino todos los rastros de un archivo de Subversion?

Respuesta

11

Sí, pero no es fácil. Debe ser un administrador en el servidor donde se está ejecutando el servidor de Subversion. Luego use svnadmin dump para volcar el repositorio, y svndumpfilter para excluir el archivo apropiado, y luego reconstituya el repositorio. Esta es una operación costosa y costosa que llevará mucho tiempo para grandes repositorios.

Ver the Subversion FAQ para obtener más información. A detailed example de cómo hacer esto también se da en el libro de Subversion.

+0

Una buena solución de seguridad contra esto es evitar la emisión de código que podría causar este tipo de problemas problemáticos, por ejemplo, como primer paso, podría tener una lista blanca de extensiones de archivos que verificará su enlace precompromiso. –

+0

Fail safe no habría ayudado aquí. Tenemos una sección de documentación, con archivos de Word. Creé uno allí con el plan de la siguiente fase: líneas de tiempo, costos, todo, y me comprometí a tomar una copia de seguridad :( –

2

Como ya se ha mencionado, esto requerirá dumping y filtrado. Sin embargo, hay algunos inconvenientes aquí que pueden hacer que sea doloroso (es decir, si el archivo se ha movido o se han cambiado las rutas). Acabo de pasar por un proceso muy similar y lo documenté cuidadosamente aquí: http://www.troyhunt.com/2009/12/black-art-of-splitting-subversion.html

Cuestiones relacionadas