2012-05-14 14 views
5

Po usunięciu katalogu przy użyciu cvs remove <dir> i cvs commit, istnieje prosty sposób cofnięcia zmiany - w celu przywrócenia katalogu w kopii roboczej i repozytorium? Do tej pory udało mi się znaleźć sugestie, które pomogłyby, gdybym nie zrobił jeszcze zatwierdzenia, lub gdyby był to plik zamiast katalogu. Jeśli to możliwe, chciałbym zachować historię zawartości katalogu.Jak mogę przywrócić katalog usunięty z CVS po wprowadzeniu zmiany?

Odpowiedz

5

(Odpowiadając na moje własne pytanie jak ja zdobione.)

Aby przywrócić usunięty katalog po kasowania zostało popełnione:

cvs update -d -R -j <rev2> -j <rev1> <dir> 

Gdzie:

<rev2> jest zmiana, która wynika z popełnienia usunięcia.

<rev1> to wersja bezpośrednio przed rev2.

<dir> to usunięty katalog.

0

Przypuśćmy, że złożyłeś plik, ale skończyło się to przerażeniem. Oto, jak cofnąć zatwierdzenie:

Uzyskaj numer wersji po zatwierdzeniu. Możesz użyć znacznika $ Id $ w pliku lub statusu cvs. Załóżmy, że nowa wersja ma 1,5. Uzyskaj numer wersji sprzed zatwierdzenia. Zazwyczaj będzie to jeden niższy niż aktualna wersja. Załóżmy, że stara wersja to 1.4. Teraz to zrobić:

cvs update -j 1.5 -j 1.4 filename 

cvs commit pliku Powyższe jest przykładem seryjnej. Poprosiłeś cvs, aby wybrał różnice między wersjami 1.5 i 1.4 i zastosował je do swojej kopii roboczej. Kolejność numerów wersji jest znaczna - pomyśl o usunięciu zmian lub cofnięciu historii wersji.

+0

Jak powiedziałem w pytaniu, porady dotyczące plików nie pomagają, ponieważ element, który został usunięty, jest katalogiem. – bythescruff

+0

Odpowiedzi od bythescruff i Satya mnie uratowały. Pliki w katalogu, który próbowałem odzyskać, miały różne wersje, więc najpierw przywróciłem katalog używając odpowiedzi bythescruff, a następnie przywróciłem pojedyncze pliki używając odpowiedzi Satyi. Dziękuję wam obu. – WileCau

Powiązane problemy