Podczas pracy na kopii roboczej często trzeba wiedzieć, które pliki zostały zmienione/dodane/usunięte lub przemianowane, a nawet, które pliki były zmienione i zatwierdzone przez innych.
Teraz, gdy już zaktualizowaliście kopię roboczą z repozytorium Subversion możecie zobaczyć swoje pliki w eksploratorze Windows ze zmienionymi ikonami. Jest to jeden z powodów, dla których TortoiseSVN jest tak popularny. TortoiseSVN dodaje tzw nakładkę ikony na każdej ikonie pliku, która częściowo przesłania oryginalną ikonę pliku. W zależności od stanu pliku w Subversion nakładka ikony jest inna.
nowozaktualizowane pliki kopii roboczej mają jako nakładkę zielony znacznik wyboru. Oznacza ona, że posiadają zwykły stan w Subversion.
Jak tylko zaczynacie edytować plik, status zmienia się na zmodyfikowane a nakładka ikony zmienia się na czerwony wykrzyknik. W ten sposób można łatwo sprawdzić, które pliki zostały zmienione od czasu ostatniej aktualizacji kopii roboczej i muszą zostać zatwierdzone.
Jeśli podczas aktualizacji ma miejsce konflikt, ikona zmienia się na żółty wykrzyknik.
Jeśli macie ustawiony atrybut svn:needs-lock
na pliku, Subversion, ustawia plik w stan tylko do odczytu do czasu, aż ten plik zablokujecie. Pliki takie mają tę nakładkę aby wskazać, że trzeba nałożyć blokadę zanim można edytować plik.
Jeśli utrzymujecie blokadę na pliku, a jego status Subversion jest zwykły, ta nakładka ikony przypomina, że należy zwolnić blokadę jeśli pliku nie używacie, by inni mogli zatwierdzić na nim swoje zmiany.
Ta ikona wskazuje, że niektóre pliki lub foldery w folderze bieżącym zostały zaplanowane do usunięcia z kontroli wersji lub brakuje w folderze pliku pod kontrolą wersji.
Znak plus informuje, że plik lub folder został zaplanowany na dodanie do kontroli wersji.
Znak paska informuje, że plik lub folder jest ignorowany do celów kontroli wersji. Ta nakładka jest opcjonalna.
Ta ikona wskazuje pliki i foldery, które nie są pod kontrolą wersji oraz nie zostały zignorowane. Nakładka jest opcjonalna.
W rzeczywistości może się okazać, że nie wszystkie te ikony są używane w systemie. To dlatego, że liczba nakładek dozwolonych przez system Windows jest bardzo ograniczona i jeśli używacie również starszej wersji TortoiseCVS, to nie ma dostępnej wystarczającej liczby gniazd nakładek. TortoiseSVN stara się być „Dobrym Obywatelem (TM)” i ogranicza stosowanie swoich nakładek by dać szansę również innym aplikacjom.
Teraz, jako że jest wokół więcej klientów Tortoise (TortoiseCVS, TortoiseHg, ...) limit ikon staje się prawdziwym problemem. Aby go obejść, projekt TortoiseSVN wprowadził ogólnodostępny wspólny zestaw ikon, ładowany jako DLL, który może być wykorzystany przez wszystkie klienty Tortoise. Skontaktujcie się z operatorem klienta aby sprawdzić, czy ta funkcja została już włączona :-)
Aby poznać zależność pomiędzy nakładkami ikon i odpowiadającymi im stanami Subversion oraz inne szczegóły techniczne, przeczytajcie „Ikony nakładkowe”.
Czasami chcecie uzyskać bardziej szczegółowe informacje o pliku/katalogu niż tylko nakładka ikony. Możecie pobrać wszystkie informacje dostarczane przez Subversion w oknie dialogowym właściwości eksploratora. Wystarczy wybrać plik lub katalog i wskazać → (uwaga: to jest normalne wejście menu właściwości obsługiwane przez eksplorator, a nie to z podmenu TortoiseSVN!). W oknie dialogowym właściwości TortoiseSVN dodaje nową zakładkę właściwości dla plików/folderów pod kontrolą Subversion, gdzie można zobaczyć wszystkie istotne informacje o wybranym pliku/katalogu.
Często warto wiedzieć, które pliki się zmieniło, oraz które pliki zostały zmienione i zatwierdzone przez innych. To miejsce, gdzie przydatne staje się polecenie → . To okno pokazuje wszystkie pliki, które zmieniły się w jakikolwiek sposób w kopii roboczej, jak również te, posiadane być może niewersjonowane pliki.
Jeśli klikniecie na Shift, podczas kliknięcia na przycisk .
, możecie również przeglądać zmiany w repozytorium. W ten sposób można sprawdzić przed aktualizacją, czy mamy jakiś potencjalny konflikt. Można także zaktualizować wybrane pliki z repozytorium bez aktualizowania całego folderu. Domyślnie przycisk odczytuje tylko zdalny status na głębokość pobrania z kopii roboczej. Jeśli chcecie zobaczyć wszystkie pliki i foldery w repozytorium, nawet te, które nie zostały pobrane, musicie przytrzymać klawiszOkno dialogowe używa kodowanie kolorami aby zaznaczyć status.
Elementy zmienione lokalnie.
if unchanged files are inside a directory that's been moved, the status will show a +
sign in the status column, and it will be colored in blue as well.
Elementy dodane. Obiekty, które zostały dodane z historią posiadają znak +
w kolumnie Status tekstowy, a podpowiedź pokazuje, skąd element został skopiowany.
Elementy usunięte i brakujące.
Pozycje zmienione lokalnie i w repozytorium. Zmiany zostaną scalone podczas aktualizacji.Mogą one powodować konflikty podczas aktualizacji.
Pozycje zmienione lokalnie, usunięte w repozytorium lub zmienione w repozytorium i usunięte lokalnie. One muszą spowodować konflikty aktualizacji.
Elementy niezmienione i niewersjonowane.
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.
Ikony nakładek używane są również, by wskazywać równiez inne stany. Poniższy zrzut ekranu pokazuje wszystkie nakładki, jakie w raqzie potrzeby mogą zostać wyświetlone.graphic fileref="../images/statuslistoverlays.png"/> Nakładki są pokazywane dla następujących stanów:
Głębokość pobierania empty
oznacza tylko sam element.
Głębokość pobierania files
oznacza tylko sam element oraz pliki podrzędne bez podrzędnych folderów.
Głębokość pobierania immediates
określa tylko sam wskazany element, jego podrzędne pliki i foldery ale już bez elementów podrzędnych folderów podrzędnych
Elementy zagnieżdżone, tj kopie robocze wewnątrz kopii roboczej.
Elementy zewnętrzne, tj wszystkie elementy dodane przy pomocy atrybutu svn:externals
.
Elementy odtworzone op zatwierdzeniu. Zobacz „Zatwierdzaj tylko części plików” by dowiedzieć się więcej.
Elementy mające modyfikacje atrybutu, aletylko dla svn:mergeinfo
. Jeśli jakikolwiek inny atrybut zostanie zmieniony, nakładka nie jest używana.
Pozycje, które zostały przełączone do innej ścieżki repozytorium są również wskazane markerem (s)
. Możecie mieć coś przełączone podczas pracy na gałęzi i zapomnieć przełączyć z powrotem do linii głównej. To jest wasz sygnał ostrzegawczy! Menu kontekstowe pozwala na przełączanie ich z powrotem do zwykłej ścieżki.
Z menu kontekstowego w oknie dialogowym można pokazać różnice zmian. Sprawdźcie lokalne zmiany wykonane przez Was korzystając z → . Sprawdźcie zmiany dokonane w repozytorium przez innych użytkowników → .
Można też zawrócić zmiany w poszczególnych plikach. Jeśli usunięto plik przypadkowo, pokaże się jako Nie znaleziono i możecie użyć Wycofaj zmiany, aby go odzyskać.
Niewersjonowane i ignorowane pliki mogą być wysłane do kosza przy użyciu Shift podczas kliknięcia Usuń.
→ . Jeśli chcecie usunąć pliki na stałe (z pominięciem kosza) przytrzymajcie klawiszJeśli chcecie zbadać plik szczegółowo, możecie przeciągnąć go stąd do innych aplikacji, takich jak edytor tekstowy lub IDE, albo po prostu zapisać kopię przeciągając go do folderu w eksploratorze.
Kolumny są konfigurowalne. Jeśli kliknie się prawym przyciskiem myszy na dowolny nagłówek kolumny, pojawi się menu kontekstowe pozwalające wybrać, które kolumny są wyświetlane. Można również zmienić szerokość kolumny przy użyciu uchwytu przeciągnięcia, który pojawia się po najechaniu wskaźnikiem myszy na granicę kolumny. Te dostosowania są zapamiętywane, więc następnym razem widać ten sam poprawiony układ pozycji.
Jeśli pracujecie nad kilkoma niepowiązanymi zadaniami jednocześnie, można także grupować pliki w listy zmian. Czytajcie „Listy zmian” by uzyskać więcej informacji.
W dolnej części okna można zobaczyć podsumowanie zakresu wersji w repozytorium wykorzystanego w kopii roboczej. Są to wersje zatwierdzeń, a nie wersje aktualizacji; stanowią one zakres wersji gdzie pliki zostały zatwierdzone po raz ostatni, a nie wersje do których zostały zaktualizowane. Należy pamiętać, że wyświetlany zakres wersji stosuje się tylko do elementów wyświetlanych, a nie do całej kopii roboczej. Jeśli chcecie zobaczyć, te informacje dla całej kopii roboczej należy zaznaczyć pole wyboru Pokaż niezmienione pliki.
Jeśli chcecie płaskiego widoku kopii roboczej, czyli wyświetlania wszystkich plików i folderów na każdym szczeblu hierarchii, to okno dialogowe Sprawdź zmiany jest najprostszym sposobem, aby to osiągnąć. Wystarczy zaznaczyć pole wyboru Pokaż niezmienione pliki, aby wyświetlić wszystkie pliki w kopii roboczej.
Czasami pliki zostają przemianowane poza Subversion, i pokazują się na liście plików w postaci pliku brakującego i drugiego niewersjonowanego. Aby uniknąć utraty historii należy powiadomić Subversion na temat ich połączenia. Wystarczy wybrać zarówno starą nazwę (brakujący) i nową nazwę (bez informacji o wersji) i użyć →
by powiązać dwa pliki jako zmianę nazwy.Jeśli zrobiliście kopię pliku, ale zapomnieliście użyć przy tym polecenia Subversion, można naprawić tą kopię by nowy plik nie stracił swojej historii. Wystarczy wybrać zarówno starą nazwę (normalny lub zmian) i nową nazwę (bez informacji o wersji) i użyć
→ by powiązać dwa pliki jako kopię.Często chcecie zajrzeć do plików, aby zobaczyć co zmieniliście. Można to zrobić poprzez wybranie pliku, który został zmieniony i wciśnięcie BAZY
), zapisaną podczas ostatniego pobrania lub aktualizacji.
Nawet na zewnątrz z kopii roboczej lub w przypadku rozrzucenia wielu wersji pliku, nadal można wyświetlać pliki różnic:
Wybierzcie dwa pliki, które chcecie porównać w eksploratorze (np. za pomocą Ctrl i kliknięcia myszą) i wybierzcie z menu kontekstowego TortoiseSVN. Plik kliknięty ostatni (ten z fokusem, tj. w kropkowanym prostokącie) będzie uznany za ostatni.