Sou novo em colaborar com a Mercurial. Minha situação:
- Outro programador alterou a rev 1 de um arquivo para substituir recuos de 4 espaços por recuo de 2 espaços. (Ou seja, alterei todas as linhas.) Ligue para a rev 2, enviada para o repositório remoto.
- Confirmei alterações substanciais rev 1 com várias alterações de código no meu espaço de trabalho local. Chame isso de rev 3.
- Eu
hg pull
edhg merge
ed sem uma idéia clara do que estava acontecendo. - Os conflitos são inúmeros e não são realmente substantivos.
Então, eu realmente gostaria de ter mudado meu repositório local para recuos de 2 espaços antes da fusão; então a mesclagem será trivial (suponho). Mas não consigo fazer backup. Eu acho que preciso, hg update -r 3
mas diz abort: outstanding uncommitted merges
.
Como posso desfazer a mesclagem, alterar o espaçamento no repositório local e reaparecer?
M-x indent-region
aconteceu com o truque do reindent.BTW: se você acabou de reverter a mesclagem que fez e 3 não é o seu número de revisão, você pode fazer isso:
fonte
.
é um atalho para a revisão anterior.hg help update
eu recebo: Se nenhum conjunto de alterações for especificado, atualize para a ponta do ramo nomeado atual ... e a dica nem sempre será sua revisão atual em que você está trabalhando. Eu não testá-lo, até agora ..-r .
é o mesmo #Para desfazer uma mesclagem não confirmada, use
que fará o check-out de uma cópia limpa do pai de mesclagem original, perdendo todas as alterações.
fonte
Aparentemente, eu apenas precisava
hg update -C -r 3
, o que sobrescreve meus arquivos locais com a revisão em mente (que é o que eu pensavahg update
que faria; mas eu estava errado.) Obrigado pela ajuda!fonte
-C
ou--clean
é como você diz ao Mercurial para prosseguir, mesmo quando ele joga fora alguns arquivos modificados. Você está certo de quehg update -r X
será normalmente levá-lo para revisão X, mas quando você está em uma mala que você precisa insistir um pouco mais :-)