Adicionando alterações não comprometidas em um novo patch com filas mercuriais
-
27-09-2019 - |
Pergunta
O processo de criação de patches no Mercurial é o seguinte:
Crie patch com QNEW -> Faça alterações -> Refresh Patch
E se eu já fiz alterações (não comprometidas) e quero adicioná -las à fila?
Solução
Depende da sua versão e parece que ela mudou em 1.5.1.
1.5.1 ou mais tarde
O comando adicionará quaisquer alterações não comprometidas por padrão
O QNew cria um novo patch no topo do patch atualmente aplicado (se houver). O patch será inicializado com quaisquer alterações pendentes no diretório de trabalho.
antes de 1.5.1
Você quer usar qnew -f
. De documentos:
-f: crie um novo patch se o conteúdo do diretório de trabalho for modificado. Quaisquer modificações pendentes são adicionadas ao patch recém -criado; portanto, após a conclusão deste comando, o diretório de trabalho não será mais modificado.
Outras dicas
Na verdade, o processo do patch funciona da mesma forma se há alterações não comprometidas ou não. Eu sempre faço o seguinte:
[... make changes ...]
hg qnew -m "foo bar changes" foobar.patch
--> new empty patch at top of queue
hg qrefresh
--> this adds all diffs from 'hg diff' into the current top patch
EDIT: @CaseBash apontou corretamente que estou errado sobre o comportamento padrão atual!