2009-12-15 12 views
7

Cuando los archivos se eliminan de un repositorio svn, los usuarios pueden seguir accediendo a ellos revisando las revisiones anteriores. Esta es obviamente una de las grandes ventajas del control de fuente.¿Es posible borrar un archivo de un repositorio svn?

¿Es posible borrar un archivo del repositorio? Soy consciente de que esto comprometería la integridad de las revisiones anteriores que contienen el archivo.

Por ejemplo, el código propietario puede comprometerse inadvertidamente con el repositorio svn público de un proyecto de código abierto. ¿Hay alguna forma admitida de eliminarlo del repositorio para que no se pueda recuperar, incluso al revisar revisiones anteriores?

Respuesta

16

http://subversion.tigris.org/faq.html#removal

Hay casos especiales en los que es posible que desee para destruir toda evidencia de un archivo o cometer. (Tal vez alguien accidentalmente haya confiado un documento confidencial.) Esto no es tan fácil, porque Subversion está diseñada deliberadamente para nunca perder información. Las revisiones son árboles inmutables que se construyen unos sobre otros. Eliminar una revisión de la historia provocaría un efecto dominó, creando caos en todas las revisiones posteriores y posiblemente invalidando todas las copias de trabajo.

El proyecto tiene planes, sin embargo, de implementar algún día un comando svnadmin obliterate que logre la tarea de eliminar información permanentemente. (Consulte el problema 516.)

Mientras tanto, su único recurso es svnadmin volcar su repositorio, luego canalizar el archivo de volcado a través de svndumpfilter (excluyendo el mal camino) en un comando de carga svnadmin. Vea el capítulo 5 del libro de Subversion para más detalles sobre esto.

Cuestiones relacionadas