Como desfazer / refazer partes seletivas do código?
Estou usando o Eclipse.
Isso acontece muito quando desenvolvemos um código como este (suponha que ele seja desenvolvido sequencialmente, de cima para baixo):
Part 1 (*)
Part 2
Part 3
Part 4 (*)
Part 5
Mas acabamos de descobrir que as partes 1 e 4 (marcadas com (*)) estão erradas e as outras estão bem. A questão é: como podemos desfazer apenas essas duas partes (1 e 4) sem desfazer o resto?
Se pudéssemos desfazer seletivamente, foi ótimo. Observe que simplesmente reverter o código para a versão 1 perde as partes 2, 3 e 5, que são as partes corretas e devem permanecer no código. Observe também que geralmente essas partes são misturadas em um ou dois blocos de código (não em blocos separados).
Exemplo:
Part 1: Add method f1(x, y) and move some code from main() to f1() --> incorrect (should be reverted)
Part 2: Add method f2(a, b, c, d) --> correct (should remain)
Part 3: Change another part of main() implementation --> correct (should remain)
Part 4: Change f2 signature to f2(s, n) --> incorrect (should be reverted)
Part 5: Change body of f2 --> correct (should remain)
A abordagem atual que eu uso é:
Mantendo uma cópia da versão mais recente em algum lugar (por exemplo, em um arquivo de texto temporário), desfaça antes da parte 1 e adicione as partes corretas do arquivo de texto temporário ao código-fonte.Comparação manual de diferentes versões e resolução de conflitos.Alguém pensa em uma maneira mais fácil, ainda mais automática, de selecionar qual alteração desfazer e qual manter?