Przypadkowo usunęliśmy folder „tags” z naszego repozytorium Subversion, w którym zamierzaliśmy usunąć tylko jeden określony tag. Jaki jest najłatwiejszy sposób na odzyskanie folderu „Tagi”?
Używamy TortoiseSVN jako naszego klienta i pomyślałem, że kiedy przejdę do przeglądarki repozytoriów i pokażę dziennik, będzie coś w stylu „cofnij zmiany z tej wersji”, podobnie jak to, co można zobaczyć w podobnym oknie dialogowym na kopii roboczej. Ale tam nie ma takiego polecenia ...
źródło
dla entuzjastów wiersza poleceń:
najpierw znajdź numer wersji, w której nastąpiło usunięcie:
powiedz, że odkryłeś, że katalog został usunięty w wersji 999 (przy okazji: możesz łatwiej znaleźć numer wersji za pomocą przeglądarki repozytorium svn)
skopiuj folder z wersji minus 1
voilà gotowe!
w twoim przypadku może to być:
źródło
Większość z tych odpowiedzi zadziała do pewnego stopnia, ale prawidłowa odpowiedź to odpowiedź Daniela. Wykonaj scalenie odwrotne. W ten sposób zachowujesz historię wersji.
svn merge -r R1:R2
gdzie R1 to wersja, w której się znajdujesz, a R2 to wersja zawierająca usunięty plik / folder.
źródło
svn copy
.Będziesz musiał wykonać scalenie odwrotne .
Aby uzyskać szczegółowe informacje o tym, jak to zrobić (i prawie wszystko, co kiedykolwiek chciałbyś lub musiałbyś zrobić z SVN), oficjalna książka jest dostępna online .
źródło
Kontynuując odpowiedź Raudiego, która zadziałała dla mnie po tej rewizji.
Niektórzy klienci svn mogą potrzebować numeru wersji określonego za pomocą parametru -r wersja zamiast używania znaku @ po folderze w następujący sposób:
źródło
-r <revision>
, zadziała. Jeśli jednak próbujesz przywrócić folder bezpośrednio, musisz użyć@<revision>
. W przeciwnym razie poinformuje Cię, że plik nie został znaleziony.Przejdź
Repository Browser
do swojegorepository
, kliknij prawym przyciskiem myszy folder nadrzędny, w którym istniał usunięty folder . TerazShow Log
z folderu nadrzędnego i wybierz poprzednią wersję, w której zatwierdziłeś operację usuwania. Będziesz mieć listę i kliknij prawym przyciskiem myszy folder z informacji o wersji i wybierzUpdate to this Revision
.Skończyłeś
źródło