ver samsung rapido navegación historial google como chrome celular buscado borrar automaticamente actividad mercurial

mercurial - samsung - mi actividad google borrar historial



Mercurial Eliminar Historia (2)

¿Hay alguna manera en mercurial para eliminar los conjuntos de cambios antiguos de una base de datos? Tengo un repositorio de 60 GB y eso hace que sea muy doloroso hacer un clon. Me gustaría recortar todo antes de cierta fecha y guardar la enorme base de datos para recoger el polvo.


No hay una forma simple / recomendada de hacer esto directamente en un repositorio existente.

Sin embargo, puede "convertir" su repositorio mercurial a un nuevo repositorio mercurial y elegir una revisión desde donde incluir el historial en adelante a través de la opción convert.hg.startrev

hg convert --config convert.hg.startrev=1234 <source-repository> <new-repository-name>

El nuevo repositorio contendrá todo, desde el repositorio original menos el historial anterior a la revisión inicial.

Advertencia: el nuevo repositorio tendrá ID de cambios completamente nuevos, es decir, no está relacionado de ninguna manera con el repositorio original. Después de crear el nuevo repositorio, cada desarrollador debe clonar el nuevo repositorio y eliminar sus clones del repositorio original.

Utilicé esto para limpiar los repositorios usados ​​internamente dentro de nuestra compañía, combinado con la opción --filemap para eliminar archivos no deseados también.


Puede hacerlo, pero al hacerlo, invalida todos los clones que existen, por lo que generalmente no es prudente hacerlo a menos que esté trabajando completamente solo.

Cada conjunto de cambios en mercurial se identifica de forma única mediante un código hash, que es una combinación de (entre otras cosas) los cambios en el código fuente, los metadatos y los hashes de sus uno o dos padres. Esos padres deben existir en el repositorio hasta el inicio del proyecto. (No tener esa restricción sería tener clones superficiales, que aún no están disponibles).

Si estás de acuerdo con cambiar los hashes de los conjuntos de cambios más nuevos (que nuevamente rompe todos los clones que hay en el mundo salvaje), puedes hacerlo con los comandos;

hg export -o ''changeset-%R.patch'' 400:tip # changesets 400 through the end for example cd /elsewhere hg init newrepo cd newrepo hg import /path/to/the/patches/*.patch

Probablemente tendrás que hacer un poco de trabajo para manejar los conjuntos de cambios de combinación, pero esa es la idea general.

También se podría hacer usando hg convert con el tipo hg como fuente y destino, y usando un splicemap , pero probablemente sea más complicado aún.

La pregunta más importante es, ¿cómo se escriben hasta 60 GB de código fuente, o se agregaron archivos generados en contra de todos los consejos? :)