¿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
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.
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
- 1. Borrar todos los rastros de un commit de SVN
- 2. ¿Cómo elimino todos los intervalos?
- 3. ¿Cómo elimino todos los saltos de línea?
- 4. ¿Cómo elimino todos los undefs de la matriz?
- 5. ¿Cómo elimino las revisiones antiguas en Subversion?
- 6. ¿Cómo elimino un archivo de solo lectura?
- 7. ¿Cómo elimino todos los puntos críticos de Firebug JS?
- 8. ¿Cómo elimino un archivo adjunto en un ticket de Jira?
- 9. Subversion resuelve todos los conflictos rápidamente
- 10. ¿Puedo obtener los rastros de la pila de todos los hilos en mi aplicación C#?
- 11. ¿Cómo elimino todos los elementos secundarios usando linq a sql?
- 12. ¿Cómo extraer los rastros de pila de minivolcados?
- 13. ¿Cómo elimino ï »¿desde el comienzo de un archivo?
- 14. Subversion: cómo eliminar todos los archivos .svn recursivamente?
- 15. ¿Cómo elimino un archivo del depósito forzado?
- 16. ¿Cómo elimino/elimino un virtualenv?
- 17. ¿Cómo elimino las nuevas líneas de un archivo de texto?
- 18. ¿Cómo elimino Ess de un archivo de sonido con SoX?
- 19. Mercurial: Eliminar archivo de todos los conjuntos de cambios
- 20. ¿Cómo elimino todos los javascript de un documento HTML utilizando PHP?
- 21. ¿Cómo elimino los espacios en blanco finales de un QString?
- 22. ¿Cómo eliminar todos los signos diacríticos de un archivo?
- 23. ¿Cómo elimino todos los divs de clase excepto los 2 últimos usando jquery?
- 24. ¿Cómo elimino todos los objetos de mi tienda persistente en Core Data?
- 25. ¿Cómo elimino UINavigationBar de un UIViewController?
- 26. ¿Cómo elimino todos los archivos sin seguimiento de mi directorio de trabajo en Mercurial?
- 27. ¿Cómo elimino un archivo aún no comprometido que he agregado?
- 28. ¿Cómo elimino todos los controles en un panel o formulario a la VEZ? C#
- 29. ¿Cómo elimino los bordes de una UITableView?
- 30. Cómo estructurar los repositorios de Subversion
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. –
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 :( –