¿Cómo puedo eliminar revisiones antiguas de mi repositorio de subversión de desarrollo? Tengo un sandbox de subversión en el que tengo muchos proyectos de prueba, binarios, etc. Me gustaría podar la historia de vez en cuando.¿Cómo elimino las revisiones antiguas en Subversion?
Respuesta
Aquí está la respuesta oficial:
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 depósito, 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.
encontrar aquí: http://subversion.tigris.org/faq.html#removal
Puede utilizar svndumpfilter.
Sin embargo, realmente no es una cosa recomendable. Se supone que los repositorios son (principalmente) bases de datos de solo anexión. Alguna cantidad de mutación de datos es tolerable gracias a la naturaleza centralizada de la base de datos, pero no se supone que sea una operación de rutina.
Probablemente deberías usar un repositorio separado para cada proyecto en lugar de un repositorio de bolsas que querrás podar de vez en cuando.
Realmente no desea podar la historia, de esa manera se encuentra la locura.
Es posible que desee eliminar las ramas antiguas para que no aparezcan en su navegador svn, pero eso es tan sencillo como un 'svn rm'. Las revisiones permanecen en el sistema de control de versiones.
Jon - no estamos de acuerdo. Hay ocasiones en que es apropiado podar datos "muy antiguos" que estamos seguros ya no se necesitarán porque están respaldados en otros medios. Tomemos como ejemplo, un sistema que rastrea versiones de archivos de configuración automáticamente. En algún momento, tiene sentido decir: "Sabemos que ya no necesitamos tener la configuración de la forma en que parecía hace un año para estar en línea. Tener esa información en algún formato fuera de línea está bien, pero dejándola on-line en los sistemas de producción no es algo bueno ". Ese es el ejemplo perfecto de cuándo es apropiado poder archivar fácilmente los datos muy antiguos y luego eliminarlos del repositorio. He encontrado una forma de resolver el problema, pero creo que es un truco real que tengo que volver a reproducir efectivamente la historia desde un cierto punto en el tiempo a través de todas las revisiones para crear un nuevo repositorio para poder reemplazar el anterior.
Sí, ese es un punto bueno y válido. Sin embargo, Subversion hace * muy * difícil de eliminar los datos antiguos. En otro VCS es un poco más fácil (por ejemplo, en git), pero todos los VCS que sé asumen que normalmente no se poda. Si desea caducar regularmente los datos antiguos, un VCS no es la herramienta adecuada. – sleske
- 1. git eliminar las revisiones más antiguas de un archivo
- 2. ¿Cómo elimino las versiones antiguas de node/npm?
- 3. Subversion vertido últimas revisiones `N`
- 4. ¿Cómo encuentro las revisiones hechas por un usuario específico de Subversion?
- 5. ¿Cómo ver todas las revisiones en TortoiseSVN?
- 6. Cómo git-svn clona las últimas n revisiones desde un repositorio de Subversion?
- 7. revisar las revisiones en postgresql
- 8. ¿Cómo elimino todos los rastros de un archivo de Subversion?
- 9. Agregando comentarios a las revisiones de SVN
- 10. ¿Cómo se diferencian las "JVM modernas" de las JVM antiguas?
- 11. ¿Cómo implemento las revisiones con neo4j?
- 12. ¿cómo elimino las filas en Yii?
- 13. En redis, ¿cómo elimino las claves?
- 14. ¿Cómo elimino o elimino las variables de sesión?
- 15. Actualización a revisiones Mercurial antiguas con subrepos que se han movido
- 16. Python: herencia de las clases antiguas
- 17. ¿Cómo se configura el número de compilación basado en el número de revisiones Subversion con CruiseControl.net
- 18. ¿Cómo puedo generar la diferencia entre dos revisiones específicas en Subversion?
- 19. Revisiones repetidas de parámetros en las funciones
- 20. ¿Cuánto tiempo debo mantener las URL antiguas?
- 21. Cómo determinar las estadísticas de cambio entre las revisiones
- 22. cómo saber rápidamente qué archivos difieren en las revisiones mercuriales
- 23. ¿Se puede configurar Hudson para que construya todas las revisiones?
- 24. ¿Cómo elimino/elimino un virtualenv?
- 25. ¿Cómo elimino las comillas de una cadena?
- 26. Cómo se muestra el historial de revisiones como Revisiones
- 27. Las revisiones de manipulación dentro de Oracle
- 28. svn proyectos claros con todas las revisiones
- 29. ¿Cómo elimino las filas en blanco en Mysql?
- 30. ¿Cómo obtengo una lista de las actualizaciones y revisiones instaladas?
Pregunta similar: http://stackoverflow.com/questions/1294568/how-to-erase-sensitive-information-from-subversion – sleske