Sí, es posible. Use el Convert extension y luego el hg convert
del repositorio con los nombres incorrectos del nuevo repositorio con los nombres correctos y use un autormap. Hay muchas cosas que puedes lograr usando la extensión de conversión y la conversión de Mercurial a otro repositorio de Mercurial.
archivo Authormap, suponiendo Eric Hopper <[email protected]>
es el nombre canónico para el autor:
Eric Hopper <[email protected]>=Eric Hopper <[email protected]>
Eric M. Hopper <[email protected]>=Eric Hopper <[email protected]>
Eric Hopper <[email protected]>=Eric Hopper <[email protected]>
continuación:
hg convert -s hg -d hg --authormap authormap badnamesrepo goodnamesrepo
Nota: que, si bien la conversión de un hg a un repositorio hg no siempre crear muchos nuevos conjuntos de cambios, en este caso, y serán equivalentes (pero diferentes de) conjuntos de cambios en el repositorio original. Esto significa que todo el mundo usando este repositorio va a tener que borrar los clones que tengan y buscar otros nuevos.
En el caso general, la conversión de un repositorio de hg a un repositorio de hg es probable que cree al menos unos nuevos conjuntos de cambios o no habría una razón para hacerlo. Y eso seguramente requerirá que todos destruyan todos sus clones y vuelvan a clonar.
Si su herramienta de análisis tiene la capacidad de reasignar nombres de autor, esa es probablemente la mejor manera de hacerlo. Pero eso no es lo que pediste, así que te di la respuesta que pediste. :-)
Esperaría que la mayoría de la herramienta de análisis repo permitiera realmente un archivo de mapeo/alias para los nombres de los committers, el problema no es exclusivo de hg y es muy común. – tonfa
Sí, a segunda tonfa, específicamente ¿qué herramientas de análisis de repositorio estás mirando? Todos los que he visto (abandono, actividad y gráfico de la wiki de mercurial) proporcionan una asignación fácil en el momento del análisis. Los diferentes nombres de committer son muy comunes ya que user @ host es un valor de nombre de usuario favorito. Será mejor que haga que su análisis sea más inteligente en lugar de su repositorio más uniforme, porque el repositorio volverá a divergir por su nombre de nuevo. –
Solicite a los desarrolladores de Mercurial que proporcionen la función '.mailmap' para todos los comandos de búsqueda de historial, como en Git (consulte [git-shortlog] (http://www.kernel.org/pub/software/scm/git/docs/git- shortlog.html) manpage) ;-P –