Estaba pensando en escribir un script de shell para implementar la funcionalidad de borrado de una manera fácil de hacer (externamente, usando el método sugerido, pero automatizado).Subversion Obliterate feature
Esto es lo que tenía en mente:
En el cliente
svn list -R > file-list
.- filtrar archivo-list de varias maneras como grep para crear un archivo "archivos-para-eliminar", algo así como un conjunto de
grep XXX file-list>>files-to-delete
. - transfiera
files-to-delete
al servidor usando scp.
En el servidor
- Volcar el repositorio
svnadmin dump /path/to/repos > repos-dumpfile
, esto se puede guardar como una copia de seguridad también. - filtrado del archivo de volcado, para cada palabra en "archivos-to-delete", hacer:
cat repos-dumpfile | svndumpfilter exclude $file > new-dumpfile
- Crear un nuevo repositorio y cargar el nuevo archivo para que
svnadmin create new-name; svnadmin load new-name < new-dumpfile
Que este trabajo? ¿Cómo puede fallar? ¿Alguna otra idea?
Como se indica a continuación, gato new-dumpfile | svndumpfilter exclude $ file> new-dumpfile no funcionará, ya que afectará a new-dumpfile. Nunca use el mismo archivo para leer y escribir (debería ser obvio ...). – sleske