Sono riuscito a spararmi al piede questa mattina facendo quanto segue:
- Ho iniziato a lavorare su una modifica al mio progetto
- Ho apportato molte modifiche a un gruppo di file
- Capì che il mio approccio era tutto sbagliato e che dovevo ricominciare da capo
- cd al livello più alto del mio progetto e ho eseguito un "svn --recursive revert". per ripristinare la mia sandbox locale allo stato precedente alle modifiche.
- Urlai inorridito quando mi resi conto che c'erano stati molti altri cambiamenti in sospeso nella mia sandbox locale, e li avevo appena cancellati tutti. (il server svn era stato disattivato venerdì scorso, quindi non ero stato in grado di registrarli e mi ero dimenticato di loro durante il fine settimana)
Fortunatamente in questo caso avevo fatto un "svn diff> temp.txt" prima di lasciare il lavoro venerdì, e il file temp.txt era ancora sul mio disco rigido, quindi sono stato in grado di inserire quel file in "patch" e recuperare il mio modifiche perse.
Ma per il mio riferimento futuro (cioè la prossima volta che commetto lo stesso stupido errore) ... c'è un modo per dire a svn di annullare un "svn revert"? Svn mantiene un backup dei diff locali / non archiviati ovunque?