Como reescrever em lote o histórico no Mercurial

1

Eu gostaria de editar em lote um número de commits para fazer modificações automaticamente no autor e na mensagem de commit (ser capaz de aplicar algumas expressões regulares seria ótimo).

Estou ciente de que este é um histórico de reescrita, causará problemas se houver clones e alterará os IDs de commit.

Qual é a melhor maneira de fazer isso?

    
por Nikratio 02.10.2015 / 22:49

2 respostas

1

Use hg export -g -o <outfile> , process outfile com qualquer ferramenta que desejar e reimporte com hg import <outfile> .

    
por 06.10.2015 / 23:47
2
  1. Mais facilmente automatizado: MQ

Resumindo:

  • qimport -r REV
  • qrefresh ( -u para usuário, -m | -l para a mensagem de confirmação)
  • qfinish + qdelete

com (provavelmente) a restauração da ordem correta de changesets (não é possível lembrar onde o cset qfinished aparecerá no DAG)

  1. Caminho de dois passos (com truques e limitações)
por 05.10.2015 / 22:39

Tags