Udało mi się dziś rano strzelić sobie w stopę, wykonując następujące czynności:
- Rozpocząłem pracę nad zmianą w moim projekcie
- Wprowadzono kilka zmian w kilku plikach
- Zrozumiałem, że moje podejście było błędne i że muszę zacząć od nowa
- cd do najwyższego poziomu mojego projektu i wykonałem "svn --recursive revert". aby przywrócić moją lokalną piaskownicę do stanu sprzed zmian.
- Zawył z przerażenia, gdy zdałem sobie sprawę, że w mojej lokalnej piaskownicy pojawiło się wiele innych zmian i właśnie je wszystkie wymazałem. (serwer svn nie działał w zeszły piątek, więc nie mogłem ich sprawdzić i zapomniałem o nich w weekend)
Na szczęście w tym przypadku wykonałem „svn diff> temp.txt” przed wyjściem z pracy w piątek, a plik temp.txt wciąż był na moim dysku twardym, więc mogłem wprowadzić ten plik do „łaty” i odzyskać utracone zmiany.
Ale na przyszłość (tj. Następnym razem, gdy popełnię ten sam głupi błąd) ... czy jest jakiś sposób, aby nakazać svn cofnąć „powrót svn”? Czy svn zachowuje gdziekolwiek kopię zapasową lokalnych / niezaznaczonych różnic?