Manuals

Uaktualnienie kopii roboczej ze zmianami innych osób

Rysunek 4.11. Okno dialogowe postępu, pokazujące zakończenie aktualizacji

Okno dialogowe postępu, pokazujące zakończenie aktualizacji


Należy okresowo zapewnić, by zmiany dokonywane przez innych zostały dołączone do lokalnej kopii roboczej. Proces uzyskania zmian z serwera do lokalnej kopii jest znany jako uaktualnienie. Aktualizacja może być dokonana na pojedynczych plikach, zestawie wybranych plików lub rekurencyjnie na całej hierarchii katalogów. Aby uaktualnić, wybierzcie pliki lub katalogi, które chcecie, klikając prawym przyciskiem myszy i wybierzcie TortoiseSVNUaktualnij w menu kontekstowym Eksploratora. Pojawi się okno wyświetlające postęp aktualizacji w trakcie jej wykonywania. Zmiany wprowadzane przez innych zostaną połączone z waszymi plikami, pozostawiając wszelkie zmiany, jakie być może dokonaliście na tych samych plikach. Repozytorium nie jest zmieniane podczas aktualizacji.

Okno dialogowe postępu wykorzystuje kodowanie kolorami, aby wyróżnić różne działania uaktualniania

Fioletowy

Nowy element dodany do KR.

Ciemnoczerwony

Zbędny element usunięty z KR lub brakujący element zastąpiony w KR.

Zielony

Zmiany z repozytorium powodzeniem scalone ze zmianami lokalnymi.

Jasnoczerwony

Zmiany z repozytorium scalone ze zmianami lokalnymi, co w rezultacie doprowadziło do konfliktów, które trzeba rozwiązać.

Czarny

Niezmieniony element w KR zaktualizowany z nowszej wersji z repozytorium.

To jest domyślny schemat kolorów, ale można te kolory dostosować za pomocą okna dialogowego ustawień. Czytajcie „Ustawienia kolorów TortoiseSVN” by uzyskać więcej informacji.

W przypadku wystąpienia jakichkolwiek konfliktów podczas aktualizacji (może się to zdarzyć, jeśli inni zmienili te same linie w tym samym pliku co i Wy, i zmiany te nie pasują do siebie), a następnie w oknie dialogowym ukazuje konflikty w kolorze czerwonym. Możecie kliknąć dwukrotnie na tych liniach by uruchomić zewnętrzne narzędzie scalenia w celu rozwiązania konfliktów.

Po zakończeniu uaktualnienia, okno dialogowe postępu pokazuje zestawienie liczby elementów zaktualizowanych, dodanych, w stanie konfliktu, itp. pod listą plików. Zestawienie informacji można skopiować do schowka za pomocą Ctrl+C.

Standardowe polecenie Uaktualnij nie ma opcji i tylko aktualizuje kopię roboczą do wersji HEAD repozytorium, co jest najczęstszym przypadkiem użycia. Jeśli chcecie mieć większą kontrolę nad procesem aktualizacji, należy zamiast tego użyć TortoiseSVNUaktualnij do wersji.... Pozwala ono na aktualizację własnej kopii roboczej do konkretnej wersji, nie tylko do ostatniej. Załóżmy, że kopia robocza jest w wersji 100, ale chcecie by odzwierciedlała stan, który występował w wersji 50 - po prostu uaktualnijcie do wersji 50.

W tym samym oknie możecie także wybrać głębokość, na jaką zaktualizujesz bieżący folder. Użyte pojęcia zostały opisane w „Głębokość pobierania”. Głębokość domyślna to Kopia robocza, która zachowuje istniejące ustawienia głębokości. Można również ustawić głębokość ścisły, co spowoduje że kolejne aktualizacje będą używać tej nowej głębokości, czyli taka głębokość jest następnie wykorzystywana jako głębokość domyślna.

Aby ułatwić dołączenie lub pominięcie określonych elementów z pobrania kliknijcie przycisk Wybierz elementy.... Otworzy się nowe okno dialogowe, w którym można sprawdzić wszystkie elementy, których życzycie sobie w swojej kopii roboczej i usunąć zaznaczenie wszystkich elementów, których nie chcecie.

Możecie także wybrać, czy zignorować wszystkie zewnętrzne projekty podczas aktualizacji (tzn. projekty wymienione za pomocą odwołania svn:externals).

Ostrzeżenie

W przypadku aktualizacji pliku lub folderu do określonej wersji, nie należy wprowadzać zmian do tych plików. Otrzymacie komunikaty o błędach nieaktualne podczas próby ich zatwierdzenia! Jeśli chcecie, aby wycofać zmiany w pliku i rozpocząć na nowo od wcześniejszej wersji, możecie wycofać do poprzedniej wersji w oknie dziennika wersji. Rzućcie okiem na „Wycofywanie (Cofnij) zmiany w repozytorium” po dalsze instrukcje i metody alternatywne.

Uaktualnij do wersji może być czasami przydatne, aby zobaczyć jak projekt wyglądał na jakimś wcześniejszym etapie swojej historii. Ale ogólnie aktualizacja poszczególnych plików do wcześniejszej wersji nie jest dobrym pomysłem, ponieważ kopia robocza pozostaje w niespójnym stanie. Jeśli plik podczas aktualizacji zmienił nazwę, można nawet stwierdzić, że plik po prostu zniknął z kopii roboczej, ponieważ nie ma pliku o tej nazwie w poprzedniej wersji. Należy również pamiętać, że pozycja pojawi się z powrotem z zieloną nakładką, więc jest nie do odróżnienia od plików, które były do tej pory aktualne.

Jeśli życzycie sobie po prostu lokalnej kopii starej wersji pliku lepiej jest użyć polecenia Menu kontekstoweZapisz wersję w... z okna dziennika dla tego pliku.

Wiele plików/folderów

W przypadku wybrania wielu plików i folderów w eksploratorze, a następnie wybrania Uaktualnij wszystkie te pliki/foldery są aktualizowane jeden po drugim. TortoiseSVN zapewnia, że ​​wszystkie pliki/foldery, które są z tego samego repozytorium są aktualizowane do tej samej wersji! Nawet jeśli między tymi aktualizacjami nastąpiło inne zatwierdzenie.

TortoiseSVN homepage