No Git, eu posso fazer isso:
1. Comece a trabalhar no novo recurso:
$ git co -b newfeature-123 # (uma ramificação local de desenvolvimento de recursos)
faça algumas confirmações (M, N, O)
mestre A --- B --- C
\
novidade-123 M --- N --- O
2. Puxe novas alterações do mestre upstream:
$ git pull
(mestre atualizado com ff-commits)
mestre A --- B --- C --- D --- E --- F
\
novidade-123 M --- N --- O
3. Rebase off master para que meu novo recurso
pode ser desenvolvido com relação às alterações upstream mais recentes:
(from newfeature-123)
$ git rebase master
mestre A --- B --- C --- D --- E --- F
\
novidade-123 M --- N --- O
Quero saber como fazer a mesma coisa no Mercurial, e procurei na Web por uma resposta, mas o melhor que pude encontrar foi: git rebase - pode hg fazer isso
Esse link fornece 2 exemplos:
1. Admito que isso: (substituindo as revisões do exemplo por aquelas do meu próprio exemplo)
hg up -CF hg branch -f newfeature-123 hg transplant -a -b newfeature-123
não é tão ruim, exceto que ele deixa para trás o MNO pré-rebase como um cabeçote imerso e cria três novos commits M ', N', O 'que os representam ramificando a linha principal atualizada.
Basicamente, o problema é que eu acabo com isso:
mestre A --- B --- C --- D --- E --- F
\ \
novidade-123 \ M '--- N' --- O '
\
novidade-123 M --- N --- O
isso não é bom porque deixa para trás compromissos locais indesejados que devem ser descartados.
- A outra opção do mesmo link é
hg qimport -r M: O hg qpop -a hg up F hg branch newfeature-123 hg qpush -a hg qdel -r qbase: qtip
e isso resulta no gráfico desejado:
mestre A --- B --- C --- D --- E --- F
\
novidade-123 M --- N --- O
mas esses comandos (todos os 6!) parecem muito mais complicados do que
$ git rebase master
Quero saber se este é o único equivalente em Hg ou se existe alguma outra maneira disponível que seja simples como o Git.


git refloge eles não desaparecerão totalmente até que sejam coletados o lixo. Se você quiser mantê-los em um ramo nomeado para não precisar usar o reflog, faça-ogit branch feature-123_originalantes de fazer o novo rebote .