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?

Foi útil?

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!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top