Przypadkowo popełniłem kilka plików rozsianych po wielu katalogach. Dobrą wiadomością jest to, że nikt jeszcze niczego nie przekazał do repozytorium. Zła wiadomość jest taka, że ​​moje niezdarne próby przywrócenia plików wbijały mi się w coraz głębszą dziurę.

Kliknij prawym przyciskiem myszy plik w Eksploratorze Windows, wykonaj TortoiseSVN -> Pokaż dziennik, wybierz starą, dobrą wersję, kliknij prawym przyciskiem myszy i poeksperymentuj z Zapisz wersję do..., Przywróć tę wersję i Przywróć zmiany z tej rewizja. Albo przywrócenie scala się w bzdura, którego nie chcę, albo wydaje się działać i zatwierdzam, ale zatwierdzenie nie pasuje do właściwej wersji, albo zatwierdzenie skarży się, że plik jest w konflikcie i sprawia, że ​​scalam z zatwierdzeniem, a następnie moja instrukcja scalanie zostało odrzucone.

Gdybym był sprytny, przyszedłbym tu najpierw po radę, ponieważ znalazłem ładne, czyste instrukcje, jak przywrócić, ale moje hackowanie wydaje się udaremnić system.

Wydaje się, że właściwym sposobem było przejście na szczyt drzewa, pokazanie dziennika, wybranie zameldowania, od którego zaczęły się moje problemy, i „Cofnij zmiany z tej wersji”. Kiedy jednak teraz tego próbuję, guru medytuje przez chwilę, a potem mówi mi, że nie może się połączyć ze zmianami z przyszłości.

Tak naprawdę nie chcę niczego łączyć, chcę wziąć siekierę i odrąbać to gówno.

Jak mogę teraz cofnąć się w czasie?

0
gila monster 28 wrzesień 2012, 21:11

2 odpowiedzi

Najlepsza odpowiedź

Częścią problemu było to, że moja kopia robocza zawierała pliki, które nie były zsynchronizowane z drzewem svn. Wyczyściłem je przez:
a1) znalezienie plików niezsynchronizowanych z drzewem svn
a2) usunięcie ich,
a3) wykonanie aktualizacji w celu ich zastąpienia.

Po tym sprzątaniu wszystko działało tak, jak powinno. Próbowałem ponownie wykonać procedurę przywracania:
b1) ze szczytu drzewa otworzyłem okno Pokaż logi,
b2) wybrał pierwszą złą odprawę i
b3) z menu kontekstowego prawym przyciskiem myszy wybierz opcję Cofnij zmiany z tej wersji.

Wtedy poszło idealnie - dokładnie to zweryfikowałem. Porównywałem każdy plik z dobrą wersją i za każdym razem uzyskiwałem binarne równe wyniki.

C1) Zatwierdziłem przywrócone pliki.

Potem wróciłem do Show Logs, wybrałem dobrą wersję i najlepszą wersję, porównałem pliki i ponownie otrzymałem binarne równania.

Teraz wszystko w porządku. Dzięki wszystkim za wkład.

0
gila monster 5 październik 2012, 03:23

Załóżmy, że ostatnia poprawna wersja przed bałaganem to 1234, a teraz jesteś w wersji 1240. Wykonaj następującą procedurę:

  • Upewnij się, że twoja kopia robocza jest zaktualizowana do ostatniej wersji i nie zawiera żadnych lokalnych modyfikacji (użyj Sprawdź zmiany w menu TortoiseSVN)
  • Kliknij „Pokaż dziennik” w folderze głównym kopii roboczej
  • Znajdź wersję 1234. Kliknij ją prawym przyciskiem myszy i wybierz „Przywróć tę wersję” (a nie „Cofnij zmiany z tej wersji”). To cofnie wszystkie zatwierdzenia, od 1240 do 1235, które wykonałeś od wersji 1234 i sprawi, że twoja kopia robocza będzie taka, jak w wersji 1234.
  • Zatwierdź, z komunikatem „Przywróć cały bałagan, który wprowadziłem od wersji 1234”.
1
JB Nizet 29 wrzesień 2012, 15:35