Cofnięcie zatwierdzenia w TortoiseSVN

99

Przez przypadek popełniłem kilka plików (dziesiątki plików w różnych folderach). Jaki jest najłatwiejszy, najczystszy (i najbezpieczniejszy!) Sposób „cofnięcia” tego zatwierdzenia bez konieczności usuwania plików z mojego katalogu roboczego?

Manu
źródło

Odpowiedzi:

151

Przejdź do Pokaż ekran dziennika , wybierz wersję, którą chcesz cofnąć, kliknij ją prawym przyciskiem myszy i wybierz Cofnij zmiany z tej wersji , spowoduje to odwrócenie scalenia .

CMS
źródło
8
Tego się spodziewałem, ale nie było żadnego znaku w najnowszym wydaniu żółwia
Anthony Main
39
Nie zapomnij o zatwierdzeniu później, ponieważ po prostu łączy się lokalnie.
pihentagy
5
Przed wykonaniem tej czynności zaktualizuj kopię roboczą, w przeciwnym razie nic się nie dzieje.
Florian Brucker
1
Dokumenty dotyczące tej procedury: tortoisesvn.net/docs/release/TortoiseSVN_en/…
Costa
TortoiseSVN> Pokaż dziennik> <wybierz swoją starą revesion>> Przywróć do tej wersji tortoisesvn.net/docs/nightly/TortoiseSVN_en/...
Satyendra
15

Może być konieczne użycie wiersza poleceń, ale można użyć polecenia scalania SVN i określić wersje w odwrotnej kolejności, aby skutecznie cofnąć zatwierdzenie. Zakładając, że twój zły commit to r1123, zrobiłbyś:

svn merge -r1123:1122 <url of your working copy>
jcoby
źródło
Nic się nie zmienia, kiedy robię to w ten sposób: svn merge -r 1880: 1879 server / myproject / branches / problem42 Próbowałem zarówno z spacją jak to "-r 1880: 1879", jak i bez spacji jak to "-r1880: 1879". Jeśli później uruchomię "svn st", nic się nie zmieniło.
neoneye
2

Możesz przywrócić kopię roboczą do wersji sprzed zatwierdzenia. Po przywróceniu kopii roboczej po prostu zatwierdź zmiany, a skutecznie cofniesz przypadkowe zatwierdzenie.

W konkretnym przypadku takim jak twój prawdopodobnie sprawdziłbym wersję, którą chciałem przywrócić do nowej kopii roboczej, a następnie zatwierdziłbym kopię roboczą do wersji głównej.

Noah Goodrich
źródło
4
Czy nie oznacza to, że Twoja wersja jest nieaktualna i wymaga aktualizacji przed zatwierdzeniem? Myślę, że musisz scalić poprzednią wersję, a nie tylko zaktualizować do starej.
Mnebuerquo
Ta strategia zakłada również, że złe zatwierdzenie jest poprzednim. Możesz cofnąć niektóre zmiany, które wydarzyły się jakiś czas temu, bez cofania ich wszystkich.
jpaugh