Tengo un gran repositorio Mercurial que he decidido que sería mejor como varios repositorios más pequeños. ¿Hay alguna manera de dividir el repositorio y que cada pieza conserve su historial de revisión?¿Puedo dividir un repositorio de Mercurial?
Respuesta
La mejor manera de hacerlo es usando el 'convert' extension. Vamos a usar mercurial y la fuente y el tipo de destino y luego utiliza un --filemap
con entradas como:
exclude path/you/do/not/want
rename path/you/do/want .
El cambio de nombre sólo es necesario si se quiere tomar las partes que está manteniendo y moverlos "superior" en la jerarquía de directorio.
Simplemente clonar y eliminar las cosas no deseadas de cada copia.
eso no ayuda. Cada cierre todavía tiene un historial completo, por lo que las "demasiadas cosas" siempre estarán ahí en el directorio ".hg" ocupando espacio. –
ah, quieres la forma de revisionismo estalinista del control de versiones. ;) http://en.wikipedia.org/wiki/Historical_revisionism_(negationism) –
@ Ry4an ¿Pero no son los clones copias eficientes entre sí? Es decir, sí, el historial de revisión de los elementos eliminados estará en ambos repositorios, pero solo se almacenará una vez en el disco, ¿verdad? Entonces, si cloné un repositorio con varias revoluciones en los archivos A - D y luego lo borré para darme un repositorio A/B y C/D, solo estaría almacenando una copia de todas las revoluciones de AD junto con un conjunto de cambios adicional en cada uno indicando C/D se eliminaron en uno y A/B en el otro. ¿Derecha? –
encontré una guía detallada here:
crear un mapa de archivos new-repo.filemap
como
include vendor/FooBackend
rename vendor/FooBackend .
Cree otro archivo de mapa rewrite-old-repo.filemap
:
exclude vendor/FooBackend
crear el nuevo repositorio:
hg convert /path/to/current/repo /path/to/new/repo --filemap new-repo.filemap
El nuevo repositorio ha finalizado. El directorio está vacío, pero un hg update
actualizará su contenido.
crear el depósito de modificación:
hg convert /path/to/current/repo /path/to/rewritten/repo --filemap rewrite-old-repo.filemap
- 1. ¿Cómo anonimizo un repositorio mercurial?
- 2. ¿Cómo puedo clonar una subcarpeta de un repositorio en Mercurial?
- 3. ¿Cómo puedo alojar un repositorio de Mercurial para varios usuarios?
- 4. ¿Espejo un repositorio de Mercurial en Subversion?
- 5. Repo mercurial dentro de un repositorio
- 6. Mover el repositorio de Mercurial
- 7. Convertir el repositorio mercurial al repositorio svn
- 8. Empujar al repositorio remoto Mercurial
- 9. Obtenga un solo archivo de un repositorio mercurial remoto
- 10. Agregando cambios de un repositorio de Mercurial a otro
- 11. Repositorio de Mercurial como contenedor para SVN
- 12. ¿Tiene un subrepositorio mercurial un subdirectorio del repositorio principal?
- 13. Mercurial: forma recomendada de enviar un repositorio completo a alguien
- 14. Copia de seguridad del repositorio local Mercurial
- 15. Múltiples proyectos de Eclipse en un repositorio de Mercurial
- 16. ¿Cómo averiguar el tamaño de un repositorio de mercurial?
- 17. problemas al aplicar un parche a un repositorio SVN mercurial
- 18. Mercurial: fusionando un archivo entre ramas en un repositorio
- 19. ¿Cómo agrego un subrepo a un repositorio existente en mercurial
- 20. ¿Cómo muevo un repositorio Mercurial privado a un servidor central?
- 21. Estadísticas del repositorio de Mercurial, para encontrar candidatos para refactorización?
- 22. Buen visor de repositorio Mercurial para Mac
- 23. Extracción de un subdirectorio del repositorio A en un repositorio diferente B utilizando mercurial
- 24. ¿Cómo asignar carpetas vacías a un repositorio de Mercurial?
- 25. ¿Puedo optimizar un clon Mercurial?
- 26. ¿Cómo se verifica si un repositorio mercurial está limpio?
- 27. ¿Puedo anidar subrepos en Mercurial?
- 28. ¿Puedo asignar un "alias" a una URL de repositorio en mercurial/horno?
- 29. ¿Puedo usar Mercurial localmente y actualizar desde/push a un repositorio de Subversion?
- 30. ¿Cómo puedo "cambiar" con Mercurial
Esto no funciona: cambie el nombre de la ruta/usted/hacer/querer/ Esto: cambiar el nombre de la ruta/usted/hacer/querer. Esto solo se aplica si está moviendo una ruta a la raíz. –
De hecho, gracias, Nathan. –
http://mercurial.selenic.com/wiki/ConvertExtension – Julian