Hg: ¿Cómo mover archivos (a subcarpetas) sin perder el historial?


¿Cómo mover archivos (a subcarpetas) sin perder su historial?

En mi repositorio Mercurial (me refiero a la carpeta con el .hg en él) Tengo MyProject / carpeta con todos los archivos de proyecto. Ahora necesito crear la carpeta src/ dentro y mover todos los archivos a ella (de MyProject/a MyProject/src/). Cómo puedo hacerlo sin perder toda la historia?

Author: AlexP11223, 2014-02-26

4 answers

hg mv 

Hace lo correcto, pero hg log no lista las entradas más allá del movimiento a menos que dale la opción -f. Vea esta pregunta para más información

¿Por qué 'hg mv' (mercurial) no mueve el historial de un archivo de forma predeterminada?

Después de hacer esto, es probable que desee agregar la opción -f a hg log al archivo hgrc para el repo.

.hg/hgrc

[defaults] 
log = -f 
 33
Author: Fred the Magic Wonder Dog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:25:17

Dado que tienes una etiqueta "tortoisehg", pensé en explicar la forma en que hago esto usando la GUI.

Por lo general, solo cambio el nombre / mover archivos en mi IDE, o desde el explorador de Windows, luego cuando voy a confirmar, THG mostrará un montón de (?) archivos desconocidos y (R) archivos eliminados. Simplemente haga clic derecho en cualquiera de los archivos y elija "Detectar Renombres...", luego haga clic en el botón "Buscar Renombres".

Es posible que tenga que ajustar el control deslizante "Similitud mínima" hasta que obtenga todos los archivos que desea y solo los archivos usted quiere, pero por lo general es muy sencillo.

 41
Author: mo.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-28 21:20:26

En Windows con Tortoise HG instalado, hay una extensión de shell de Windows que maneja esto muy bien.

En el Explorador de Windows, simplemente haga clic con el botón derecho y arrastre los archivos que desea mover a la carpeta de destino. A continuación, se le presenta una ventana emergente que le da estas opciones:

HG Mover elemento (s) versionado (s) aquí

HG Copiar elemento (s) versionado (s) aquí

 9
Author: Eric Goldsmith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-27 20:18:26

Use hg mv para mover sus archivos y luego use hg log -f (seguir) para ver el historial, incluidos los cambios de nombre.

 4
Author: Stephen Rasku,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-26 23:26:13