Consegui atirar no meu pé esta manhã ao fazer o seguinte:
- Comecei a trabalhar em uma mudança no meu projeto
- Fez várias edições em vários arquivos
- Percebi que minha abordagem estava errada e que precisava começar de novo
- cd'd para o nível superior do meu projeto e fez um "svn - reversão recursiva." para restaurar minha sandbox local ao estado anterior às alterações.
- Gritei de horror quando percebi que havia uma série de outras mudanças pendentes em minha caixa de areia local, e eu tinha acabado de obliterar todas elas. (o servidor svn estava fora do ar na sexta-feira passada, então não pude fazer o check-in e esqueci-me deles no fim de semana)
Felizmente, neste caso, eu tinha feito um "svn diff> temp.txt" antes de sair do trabalho na sexta-feira, e o arquivo temp.txt ainda estava no meu disco rígido, então fui capaz de alimentar esse arquivo no "patch" e recuperar meu mudanças perdidas.
Mas para minha referência futura (ou seja, da próxima vez que cometer o mesmo erro estúpido) ... há alguma maneira de dizer ao svn para desfazer um "svn revert"? O svn mantém um backup dos diffs locais / não registrados em qualquer lugar?