Manuals

Okno dialogowe dziennika wersji

Dla każdej wprowadzonej i zatwierdzonej zmiany należy podać opis zmiany wpisywany do dziennika. W ten sposób można później dowiedzieć się, jakie wprowadzono zmiany i dlaczego, macie też szczegółowy dziennik procesu rozwoju.

Okno dialogowe dziennika wersji pobiera wszystkie te opisy zmian i pokazuje je Wam. Wyświetlacz jest podzielony na 3 panele.

Ale może ono znacznie więcej - pozwala użyć poleceń z menu kontekstowego, co można wykorzystać, aby uzyskać jeszcze więcej informacji na temat historii projektu.

Wywołanie okna dialogowego dziennika wersji

Rysunek 4.18. Okno dialogowe dziennika wersji

Okno dialogowe dziennika wersji


Jest kilka miejsc, z których można wyświetlić okno dialogowe dziennika:

  • Z menu kontekstowego TortoiseSVN

  • Ze strony atrybutów

  • W oknie dialogowym stanu zaawansowania po zakończeniu aktualizacji. Później okno dialogowe dziennika pokazuje tylko te wersje, które zostały zmienione od ostatniej aktualizacji

  • Z przeglądarki repozytorium

Jeśli repozytorium jest niedostępne widać okno dialogowe Chcesz przejść offline?, opisane w „Tryb offline”.

Akcje dziennika wersji

Górny panel posiada kolumnę Akcje zawierającą ikony, które podsumowują to, co zostało zrobione we wskazanej wersji. Istnieją cztery różne ikony, każda zajmuje własną kolumnę.

Jeśli wersja zmieniła plik lub folder, ikona zmodyfikowano pokazana jest w pierwszej kolumnie.

Jeśli wersja dodała plik lub folder, ikona dodano pokazana jest w drugiej kolumnie.

Jeśli wersja usunęła plik lub folder, ikona usunięto pokazana jest w trzeciej kolumnie.

Jeśli wersja zastąpiła plik lub folder, ikona zastąpiono pokazana jest w czwartej kolumnie.

Jeśli wersja przeniosła lub zmieniła nazwę pliku lub folderu, ikona przeniesiono pokazana jest w pierwszej kolumnie.

Jeśli wersja zastąpiła plik lub folder przez jego przeniesienie lub zmianę nazwy, ikona przeniesiono zastąpiono pokazana jest w czwartej kolumnie.

Jeśli wersja scaliła plik lub folder, ikona scalono pokazana jest w czwartej kolumnie.

Jeśli wersja scaliła odwrotnie plik lub folder, ikona scalono odwrotnie pokazana jest w czwartej kolumnie.

Ustalenie dodatkowych informacji

Rysunek 4.19. Okno dialogowe dziennika wersji z menu kontekstowym

Okno dialogowe dziennika wersji z menu kontekstowym


Górny panel okna dziennika posiada menu kontekstowe, które pozwala na dostęp do znacznie większej liczby informacji. Niektóre z pozycji menu pojawiają się tylko wtedy, gdy dziennik wyświetlany jest dla pliku, a niektóre tylko dla folderu.

Porównaj z kopią roboczą

Pokazuje porównanie wybraną wersję z kopią roboczą. Domyślne narzędzie porównywania TortoiseMerge jest dostarczane z TortoiseSVN. Jeśli okno dziennika jest otwarte dla folderu, pokaże Wam listę zmienionych plików i pozwala na przegląd zmian wprowadzonych do każdego pliku z osobna.

Porównaj i adnotuj z roboczą BASE

Adnotuje wybraną wersję i plik z BAZĄ roboczą oraz porównuje raporty adnotacji przy użyciu narzędzia wizualnego porównania. Czytajcie „Różnice adnotacji” by uzyskać więcej szczegółów. (tylko pliki)

Pokaż zmiany jako plik różnicowy

Pokazuje zmiany wykonane w wybranej wersji jako plik różnicowy Unified-Diff (format poprawek GNU). Pokazuje on tylko różnice w kilku liniach kontekstu. Jest to trudniejsze do odczytania niż wizualne porównywanie plików, ale pokazuje wszystkie zmiany w pliku razem w kompaktowej formie.

Jeśli przytrzymacie klawisz Shift klikając na menu, pokaże się najpierw okno, gdzie można ustawić opcje porównywania. Opcje te obejmują zdolność do ignorowania zmian końca linii i białych znaków.

Porównaj z poprzednią wersją

Porównuje wybraną wersję z wcześniejszą wersją. Działa w sposób podobny do porównania z kopią roboczą. W przypadku folderów ta opcja będzie najpierw pokazywać okno dialogowe zmienionych plików umożliwiające wybranie plików do porównania.

Porównaj i adnotuj z poprzednią wersją

Pokazuje okno dialogowe zmienionych plików umożliwiające wybranie plików. Adnotuje wybraną wersję, a także poprzednią wersję, i porównuje wyniki, korzystając z wizualnego narzędzia porównania. (dotyczy tylko folderów)

Zapisz wersję w...

Zapisz wybraną wersję do pliku, w ten sposób otrzymujecie starszą wersję tego pliku. (tylko pliki)

Otwórz / Otwórz z...

Otwiera wybrany plik, albo domyślną przeglądarką dla tego typu pliku, albo w wybranym przez Was programie. (tylko pliki)

Adnotuj...

Adnotuje plik na wybraną wersję. (tylko pliki)

Przeglądaj repozytorium

Otwiera przeglądarkę repozytorium by sprawdzić jak wybrany plik lub folder wyglądał na wybraną wersję w repozytorium.

Tworzy gałąź/etykietę z wersji

Tworzenie gałęzi lub etykiety z wybranej wersji. Jest to przydatne np. jeśli zapomnieliście utworzyć etykietę i już zatwierdziliście pewne zmiany, które nie powinny znaleźć się w tym wydaniu.

Uaktualnij element do wersji

Aktualizuje kopię roboczą do wybranej wersji. Przydatne jeśli chcecie mieć kopię roboczą odzwierciedlającą pewien okres w przeszłości, lub jeśli zostały już wykonane kolejne zatwierdzenia do repozytorium a Wy chcecie aktualizować kopię roboczą krok po kroku. Najlepiej jest zaktualizować cały katalog w kopii roboczej, a nie pojedynczy plik, w przeciwnym razie kopia robocza może być niespójna.

Jeśli chcecie cofnąć wcześniejsze zmiany na stałe, należy zamiast tego użyć Wycofaj zmiany do tej wersji.

Wycofaj zmiany do tej wersji

Powraca do wcześniejszej wersji. Jeśli wprowadzono kilka zmian, a następnie zdecydowaliście, że naprawdę chcecie, aby wrócić do tego, jak wszystko wyglądało w wersji N, jest to polecenie, którego potrzebujecie. Zmiany zostają cofnięte w kopii roboczej więc ta operacja nie wpływa na repozytorium dopóki nie zatwierdzicie zmian. Zauważcie, że to spowoduje cofnięcie wszystkich zmian dokonanych po wybranej wersji przez zastąpienie pliku/folderu przez poprzednią wersję.

Jeśli kopia robocza jest w niezmienionym stanie, po wykonaniu tej czynności kopia robocza pojawi się jako zmodyfikowana. Jeśli masz już lokalne zmiany, polecenie scali wycofane zmian do kopii roboczej.

To co się dzieje wewnątrz opisujemy jako przeprowadzenie przez Subversion odwrotnego scalenia wszystkich zmian wprowadzonych po wybranej wersji, cofając wpływ tych ostatnich zatwierdzeń.

Jeśli po wykonaniu tej czynności zdecydujecie, że chcecie cofnąć to wycofanie i uzyskać dostęp do kopii roboczej z powrotem do poprzedniego niezmienionego staniu, powinniście użyć TortoiseSVNWycofaj zmiany w eksploratorze Windows, co odrzuci lokalne modyfikacje dokonana przez działanie odwrotnego scalenia.

Jeśli chcecie po prostu zobaczyć, jak plik lub folder wyglądał jak w poprzedniej wersji, należy zamiast tego użyć Uaktualnij do wersji lub Zapisz wersję jako....

Wycofaj zmiany z tej wersji

Wycofanie zmian, które zostały wykonane w wybranej wersji. Zmiany są cofnięte w kopii roboczej więc ta operacja nie ma zupełnie wpływu na repozytorium! Zauważcie, że zostaną cofnięte zmiany wprowadzone tylko w tej wersji; nie zamieni całej kopii roboczej z plikiem na jej wcześniejszą wersję. Jest to bardzo przydatne dla wycofania wcześniejszej zmiany, gdy już jakieś inne zmiany zostały dokonane od tego czasu.

Jeśli kopia robocza jest w niezmienionym stanie, po wykonaniu tej czynności kopia robocza pojawi się jako zmodyfikowana. Jeśli masz już lokalne zmiany, polecenie scali wycofane zmian do kopii roboczej.

To co się dzieje wewnątrz opisujemy jako przeprowadzenie przez Subversion odwrotnego scalenia wszystkich zmian wprowadzonych w tej jednej wersji, wycofując jej efekty z poprzedniego zatwierdzenia.

Możecie cofnąć wycofanie jak to opisano powyżej przez Wycofaj zmiany do tej wersji.

Scal wersję do...

Scalanie wybranej(ych) wersji do innej kopii roboczej. Okno wyboru folderu pozwala wybrać kopię roboczą jako cel scalenia, ale po nim nie ma dialogu potwierdzenia, ani możliwości przetestowania wyniku scalenia. Dobrym pomysłem jest, by scalać do niezmodyfikowanej kopii roboczej, dzięki czemu można cofnąć zmiany, jeśli coś nie wyjdzie! Jest to przydatna funkcja, jeśli chcesz scalić wybrane wersje z jednej gałęzi do drugiej.

Pobierz...

Dodaje świeże pobranie wybranego folderu na wybranej wersji. Pojawi się okienko do potwierdzenia adresu URL i wersji, a następnie wyboru lokalizacji docelowej pobrania.

Eksport...

Eksportuje wybrane pliki/foldery w wybranej wersji. Pojawi się okienko do potwierdzenia adresu URL i wersji, a następnie wyboru lokalizacji docelowej.

Edytuj autora / opis zmian

Edytuje opis zmian lub autora dołączone do poprzedniego zatwierdzenia. Czytajcie „Modyfikowanie opisu zmiany i autora”, aby dowiedzieć się jak to działa.

Pokaż atrybuty wersji

Wyświetla i modyfikuje atrybut zmiany, nie tylko opis zmian i autora. Zapoznajcie się z „Modyfikowanie opisu zmiany i autora”.

Kopiuj do schowka

Kopiowanie szczegółów dziennika z zaznaczonych wersji do schowka. Spowoduje to skopiowanie numeru wersji, autora, daty, opisu zmian i listy zmienionych elementów dla każdej wersji.

Szukaj w opisach zmian...

Wyszukiwanie opisów zmian na podstawie wprowadzonego tekstu. Przeszukiwane są wprowadzone przez deweloperów opisy zmian, a także podsumowania akcji stworzone przez Subversion (wyświetlane w dolnym panelu). Wyszukiwanie jest niewrażliwe na wielkość liter.

Utwórz przegląd współtwórców kodu...

Manu pokazuje się jedynie gdy zainstalowane jest narzędzie współtworzenia kodu SmartBear. Przy pierwszym wywołaniu pokazuje okno dialogowe z prośbą o podanie przez użytkownika poświadczenia do narzędzia i SVN. Gdy ustawienia są zapisane, okno dialogowe nie jest pokazywane podczas wywołania menu, z wyjątkiem sytuacji w której użytkownik przytrzyma klawisz Ctrl podczas jego uruchomienia. Konfiguracja i wybrana rewizja(e) są używane do wywołania graficznego klienta narzędzia przeglądu kodu, w którym tworzony jest przegląd dla wybranych rewizji.

Rysunek 4.20. Okno Dialogowe Ustawień Współtwórcy Kodu

Okno Dialogowe Ustawień Współtwórcy Kodu


Rysunek 4.21. Menu kontekstowe górnego panelu dla dwóch wybranych wersji

Menu kontekstowe górnego panelu dla dwóch wybranych wersji


Jeśli wybierzesz dwie wersje na raz (przy użyciu zwykłego modyfikatora Ctrl), menu kontekstowe zmieni się i pokaże mniej opcji:

Porównaj wersje

Porównuje dwie wybrane wersje używając narzędzia wizualnego porównania. Domyślną porównywarką jest TortoiseMerge, dostarczana wraz z TortoiseSVN.

Jeśli wybierzecie tę opcję dla folderu, pojawi się następne okno, a w nim lista zmienionych plików, oferując dodatkowe opcje porównania. Przeczytajcie więcej o oknie dialogowym Porównaj Wersje w „Porównanie folderów”.

Adnotuj wersje

Adnotuje dwie wersje i porównuje raporty adnotacji przy użyciu narzędzia wizualnego porównania. Przeczytajcie „Różnice adnotacji” by uzyskać dodatkowe informacje.

Pokaż różnice w formacie unified diff

Wyświetla różnice między dwiema wybranymi wersjami wybrane jako plik różnicowy Unified-Diff. Polecenie działa dla plików i folderów.

Kopiuj do schowka

Kopiuje opisy zmian do schowka jak opisano powyżej.

Szukaj w opisach zmian...

Szukanie w opisach zmian jak opisano powyżej.

W przypadku wybrania dwóch lub więcej wersji (przy użyciu zwykłych modyfikatorów Ctrl lub Shift), menu kontekstowe będzie zawierać pozycję do Przywróć wszystkie zmiany, które zostały dokonane w wybranych wersjach. Jest to najprostszy sposób wycofywania grupy zmian w jednym ruchu.

Możecie także wybrać scalenie wybranych wersji do innej kopii roboczej, jak opisano powyżej.

Jeżeli wszystkie wybrane wersje mają tego samego autora, można edytować autora wszystkich tych wersji w jednym kroku.

Rysunek 4.22. Dolny panel okna dialogowego dziennika wersji z menu kontekstowym

Dolny panel okna dialogowego dziennika wersji z menu kontekstowym


Dolny panel okna dialogowego Dziennika posiada również menu kontekstowe pozwalające na

Pokaż zmiany

Pokazuje zmiany wykonane w wybranej wersji na wskazanym pliku.

Adnotuj zmiany

Adnotuje wersje wybraną i poprzednią dla wybranego pliku i porównuje raporty adnotacji za pomocą wizualnego narzędzia porównywania. Czytaj „Różnice adnotacji” by uzyskać więcej szczegółów.

Pokaż w formacie unified diff

Pokazuje zmiany pliku w standardowym formacie porównywania. To menu kontekstowe jest dostępne tylko dla plików oznaczonych jako zmienione.

Otwórz / Otwórz z...

Otwiera wybrany plik, albo przy użyciu domyślnej dla tego typu pliku przeglądarki, albo w wybranym przez Was programie.

Adnotuj...

Otwiera okno dialogowe adnotacji, pozwalając adnotować wybraną wersję.

Wycofaj zmiany z tej wersji

Wycofuje zmiany dokonane w wybranym pliku w tej wersji.

Pokaż atrybuty

Wyświetla atrybuty Subversion dla wybranego elementu.

Pokaż dziennik

Pokazuje dziennik zmian dla wybranego pojedynczego pliku.

Pobierz dziennik scalania

Pokazuje dziennik zmian dla wybranego pojedynczego pliku, w tym scalone zmiany. Dowiedzcie się więcej w „Funkcje śledzenia scaleń”.

Zapisz wersję w...

Zapisuje wybraną wersję do pliku, dzięki czemu macie starszą wersję tego pliku.

Eksport...

Eksport wybranych pozycji z tej wersji do folderu, z zachowaniem hierarchii plików.

Gdy na dolnym panelu okna Dziennika zaznaczonych jest wiele plików, menu kontekstowe zmienia się na następujące:

Rysunek 4.23. Dolny panel okna Dziennika z menu kontekstowym przy wybraniu wielu plików.

Dolny panel okna Dziennika z menu kontekstowym przy wybraniu wielu plików.


Zapisz wersję w...

Zapisuje wybraną wersję do pliku, dzięki czemu macie starszą wersję tego pliku.

Pokaż wiele zmian...

Pokazuje zmiany wykonane w wybranej wersji w wybranych plikach. Należy zauważyć, że funkcja pokazania zmian jest wywoływana wiele razy, co może otworzyć wiele kopii wybranego narzędzia porównywania lub zwyczajnie dodać nową zakładkę porównania w porównywarce. Jeśli wybrano ponad 15 plików, zostaniecie poproszeni o potwierdzenie akcji.

Otwórz wiele lokalnych...

Powoduje otwarcie plików z kopii roboczej odpowiadających wybranym plikom przy użyciu aplikacji przypisanych do ich rozszerzeń. [Zachowanie analogiczne do dwukliku na pliku(ach) z kopii roboczej w eksploratorze Windows]. W zależności od powiązania rozszerzeń plików z aplikacjami może się to okazać powolną operacją. W najgorszym przypadku zostaną uruchomione przez Windows nowe instancje aplikacji dla każdego z wybranych plików.

Jeśli podczas wywoływania tego polecenia wciśnięty jest Ctrl, pliki kopii roboczej są wczytywane za pomocą Visual Studio. Działa to tylko gdy spełnione są następujące warunki: Visual Studio musi działać w tym samym kontekście użytkownika mając ten sam poziom integralności procesu [uruchomione jako admin lub nie], jak TortoiseProc.exe. Może być pożądane, by mieć już program zawierający już załadowane zmienione pliki, chociaż nie jest to bezwzględnie konieczne. Tylko znajdujące się na dysku pliki z rozszerzeniami [.cpp, .h, .cs, .rc, .resx, .xaml, .js, .html, .htm, .asp, .aspx, .php, .css and .xml] zostaną załadowane.Maksymalnie 100 plików może być załadowanych jednocześnie do Visual Studio, a pliki zawsze są ładowane w nowych kartach do aktualnie otwartej instancji Visual Studio. Korzyść z przeglądu zmian kodu w Visual Studio polega na tym, że można użyć wbudowanej nawigacji, znalezienie odwołań, analizy statycznej kodu i innych narzędzi wbudowanych w Visual Studio.

Eksport...

Eksport wybranych plików/folderu w wybranej wersji. Otwiera okno dialogowe do potwierdzenia adresu URL i wersji oraz wybrania miejsca docelowego eksportu.

Podpowiedź

Zauważyliście że czasem odwołujemy się do zmian a kiedy indziej do różnic. Jaka jest różnica?

Subversion wykorzystuje numery wersji by określić 2 różne rzeczy. Wersja zwykle oznacza stan repozytorium w pewnym punkcie czasu, ale może być również używana jako reprezentacja zestawu zmian który wprowadziła dana wersja, np. Wprowadzone w r1234 oznacza, że zmiany zatwierdzone w r1234 realizują funkcję X. Aby stało się jasne, jakie znaczenie zostało użyte, stosujemy dwa różne terminy.

Jeśli wybierzecie dwie wersje N i M, menu kontekstowe pozwoli pokazać różnicę pomiędzy tymi dwiema wersjami. W kategoriach Subversion to diff -r M:N.

Po wybraniu jednej wersji N, menu kontekstowe pozwoli pokazać zmiany wykonane w tej wersji. W kategoriach Subversion to diff -r N-1:N lub diff -c N.

Dolny panel pokazuje pliki zmienione we wszystkich zaznaczonych wersjach, więc w menu kontekstowym zawsze pozwala pokazać zmiany.

Otrzymywanie dokładniejszych wiadomości dziennika

Okno dialogowe dziennika nie zawsze pokazuje wszystkie zmiany w historii z wielu powodów:

  • Dla dużego repozytorium mogą być setki lub nawet tysiące zmian a pobieranie ich wszystkich może zająć dużo czasu. Zazwyczaj jesteście zainteresowani jedynie najnowszymi zmianami. Domyślnie, liczba wczytywanych wiadomości dziennika jest ograniczona do 100, ale można zmienić tę wartość w TortoiseSVNUstawienia („Ustawienia TortoiseSVN dla okien dialogowych 1”),

  • Przy zaznaczeniu pola wyboru Zatrzymaj na kopii/zmianie nazwy, Pokaż dziennik zatrzyma się w miejscu, gdy wybrany plik lub folder został skopiowany z innego miejsca w repozytorium. Może to być przydatne, gdy przeglądacie gałęzie (lub etykiety), ponieważ zatrzymuje się na folderze głównym tej gałęzi i daje szybkie wskazanie zmian tylko dla tej gałęzi.

    Zwykle chcecie zostawić tą opcję niezaznaczoną. TortoiseSVN pamięta stan pola wyboru, więc uszanuje Wasze preferencje.

    Gdy okno dialogowe Pokaż dziennik jest wywoływane z poziomu okna Scalania, pole jest zawsze domyślnie zaznaczone. To dlatego, że scalenie często przegląda zmiany w gałęziach i cofnięcie poza podstawę gałęzi nie ma sensu w tej instancji.

    Należy pamiętać, że Subversion obecnie wdraża zmianę nazwy jako kopia/usuięcie pary, więc zmiana nazwy pliku lub folderu spowoduje także zatrzymanie wyświetlenia dziennika, jeśli opcja ta jest zaznaczona.

Jeśli chcecie zobaczyć więcej opisów zmian, należy kliknąć Następne 100 by pobrać kolejne 100 opisów zmian z dziennika. Można to powtarzać tyle razy, ile potrzeba.

Obok tego przycisku znajduje się kolejny przycisk wielofunkcyjny, który pamięta ostatni sposób wykorzystania. Kliknijcie na strzałkę aby zobaczyć inne oferowane opcje.

Użyjcie Pokaż zakres... jeśli chcecie przejrzeć określony zakres zmian. Okno dialogowe wyświetli monit o podanie wersji początkowej i końcowej.

Użyjcie Wszystkie jeśli chcecie zobaczyć wszystkie wiadomości dziennika od HEAD z do wersji 1.

Aby odświeżyć najnowszą wersję jeśli wystąpiły inne zatwierdzenia, podczas otwarcia okna dziennika wciśnijcie klawisz F5.

Aby odświeżyć bufor dziennika, wciśnijcie klawisze Ctrl-F5.

Bieżąca wersja kopii roboczej

Ponieważ okno dziennika pokazuje opis zmian z wersji HEAD, nie z aktualnej wersji kopii roboczej, często zdarza się, że są tam opisy dotyczące treści, które nie zostały jeszcze zaktualizowane w kopii roboczej. Aby lepiej to uwidocznić, opis zmiany, który odpowiada wersji z Waszej w kopii roboczej wyświetlany jest pogrubioną czcionką.

Kiedy pokazuje się dziennik dla folderu, zaznaczona jest najwyższa wersja znaleziona gdziekolwiek w tym folderze, co wymaga zindeksowania kopii roboczej. Indeksowanie odbywa się w osobnym wątku aby nie opóźnić wyświetlenia dziennika, jednak w powoduje to, że podświetlanie folderu może nie być widoczne od razu.

Funkcje śledzenia scaleń

Subversion 1.5 i kolejne rejestruje scalenia za pomocą atrybutów. Pozwala nam to uzyskać bardziej szczegółową historię scalonych zmian. Na przykład, w jeśli rozwijacie nową funkcję w gałęzi, a następnie scalacie gałąź z powrotem do linii głównej, rozwój funkcji pojawi się w dzienniku linii głównej jako jedno zatwierdzenie dla scalenia, chociaż mogło być 1000 zatwierdzeń w czasie rozwoju gałęzi.

Rysunek 4.24. Okno dziennika pokazujące wersje śledzenia scaleń

Okno dziennika pokazujące wersje śledzenia scaleń

Jeśli chcecie, aby zobaczyć szczegóły, które wersje zostały scalone w ramach tego zatwierdzenia, użyjcie pola wyboru Włącznie z wersjami scalonymi. Powoduje to ponowne pobranie dziennika, tym razem przeplecione opisami zmian z wersjami, z których pliki zostały scalone. Scalone wersje są wyświetlane w kolorze szarym, ponieważ stanowią one zmiany dokonane w innej części drzewa.

Oczywiście, scalenie nigdy nie jest proste! Podczas rozwoju funkcji na gałęzi występowały będą prawdopodobnie okazjonalne scalenia z linią główną, aby utrzymać gałąź w synchronizacji z główną linią kodu. Tak więc historia scaleń gałęzi będzie również kolejną warstwą historii scalenia. Te inne warstwy są wyświetlane w oknie dziennika przy użyciu poziomów wcięć.

Modyfikowanie opisu zmiany i autora

Atrybuty wersji są całkowicie różne od atrybutów Subversion dla każdego elementu. Revprops opisują elementy, które są związane z jednym konkretnym numerem wersji w repozytorium, takimi jak opis zmiany, data zatwierdzenia i nazwa zatwierdzającego (autora).

Czasami chcecie zmodyfikować opis zmiany wprowadzony już raz, może dlatego, że wystąpił w nim błąd pisowni lub chcecie poprawić wiadomość lub zmienić go z innych powodów. Albo też chcecie zmienić autora zatwierdzenia, bo zapomnieliście skonfigurować uwierzytelnianie albo...

Subversion umożliwia zmianę atrybutów wersji w dowolnym momencie. Ale ponieważ takich zmian nie można cofnąć (zmiany te nie są wersjonowane) ta funkcja jest domyślnie wyłączona. Aby zaczęła działać, należy skonfigurować przechwycenie pre-revprop-change. Prosimy odnieść się do rozdziału na temat Skrypty przechwytujące w Księdze Subversion by poznać dokładnie jak to zrobić. Czytajcie „Skrypty przechwytujące po stronie serwera” by znaleźć dodatkowe uwagi dotyczące wykonania przechwyceń na komputerze z systemem Windows.

Po skonfigurowaniu serwera z wymaganymi przechwyceniami, można zmienić autora i opis zmiany (lub dowolną inną revprop) dowolnej wersji za pomocą menu kontekstowego z górnego panelu w oknie dziennika. Można także edytować opis zmiany przy użyciu menu kontekstowego ze środkowego panelu.

Ostrzeżenie

Ponieważ atrybuty wersji Subversion nie są wersjonowane, wprowadzenie zmian do tych atrybutów (na przykład, atrybut svn:log opisu zmiany) spowoduje nadpisanie poprzedniej wartości tego atrybutu na zawsze.

Ważne

Ponieważ TortoiseSVN trzyma bufor wszystkich informacji dziennika, zmiany w odniesieniu do autora i opisu zmiany pojawiają się tylko na lokalnej instalacji. Inni użytkownicy za pomocą TortoiseSVN nadal będą widzieli w zbuforowane (stare) zapisy autorów i opisów zmian do czasu odświeżenia bufora dziennika. Sprawdźcie w „Odświeżanie widoku”

Filtrowanie dziennika

Jeśli chcecie ograniczyć komunikaty dziennika, aby pokazać tylko te, które są interesujące, a nie przewijać listę z setkami pozycji, możecie użyć kontrolki filtru na górze okna dziennika. Data początkowa i końcowa pozwala ograniczyć listę pozycji do znanego zakresu dat. Pole wyszukiwania umożliwia wyświetlanie tylko wiadomości, które zawierają konkretne wyrażenie.

Kliknijcie na ikonie wyszukiwania, aby wybrać, jakie informacje chcecie odnaleźć, lub by wybrać tryb regeksu. Zwykle wystarczy proste wyszukiwanie podciągu, ale jeśli potrzebujecie bardziej elastycznych warunków wyszukiwania, można użyć wyrażeń regularnych. Po najechaniu myszką na pole, pojawia się podpowiedź ze wskazówkami, jak korzystać z funkcji regeksu lub podciągu. Filtr działa poprzez sprawdzenie, czy wpisany szablon pasuje do wpisów w dzienniku, a następnie tylko te pozycje, które pasują do szablonu są wyświetlane.

Proste wyszukiwania podciągu działa w sposób podobny do wyszukiwarki. Ciągi znaków do wyszukiwania są oddzielone spacjami, a wszystkie ciągi muszą być zgodne. Można użyć znaku wiodącego -, aby określić, że dany podciąg ma nie zostać znaleziony (odwrócić pasujące do tego terminu), i można użyć ! na początku wyrażenia, aby odwrócić spasowanie dla całego wyrażenia. Możecie użyć wiodącego +, aby określić, że podciąg powinien być włączony, nawet jeśli wcześniej był wyłączony przez -. Należy pamiętać, że kolejność włączenia/wyłączenia jest tutaj istotna. Możecie używać cudzysłowu, aby otoczyć łańcuch, który musi zawierać spacje natomiast jeśli chcecie szukać użycia cudzysłów należy użyć dwóch cudzysłowów razem jako własnej sekwencji ucieczki. Zauważcie, że znak odwrotnego ukośnika nie jest znakiem ucieczki i nie ma specjalnego znaczenia w wyszukiwaniu prostego podciągu. Przykłady ułatwią zrozumienie:

Alicja Robert -Ewa

wyszukuje ciągi znaków zawierające zarówno Alicja jak i Robert, ale nie Ewa.

Alicja -Robert +Ewa

wyszukuje ciągi znaków zawierające Alicja ale nie Robert lub ciągi zawierające Ewa.

-Case +SpecialCase

wyszukuje ciągi nie zawierające Case, ale wciąż dołącza ciągi zawierające SpecialCase.

!Alicja Robert

wyszukuje ciągów, które nie zawierają ani Alicja ani Robert

!-Alicja -Robert

czy pamiętasz prawa De Morgana? NOT(NOT Alicja AND NOT Robert) redukuje się do (Alice OR Bob).

"Alicja i Robert"

wyszukuje dosłownego wyrażenia Alicja i Robert

"" 

wyszukuje cudzysłowu wszędzie w treści

"Alicja mówi ""cześć"" do Roberta"

wyszukuje dosłownego wyrażenia Alicja mówi "cześć" do Roberta.

Opis użycia wyszukiwania przy pomocy wyrażeń regularnych wykracza poza zakres tego podręcznika, ale można znaleźć dokumentację online i samouczek na http://www.regular-expressions.info/.

Należy pamiętać, że filtry te działają na wiadomości już dostępne. Nie kontrolują pobierania wiadomości z repozytorium.

Można także filtrować nazwy ścieżek w panelu na dole przy użyciu pola wyboru Pokaż tylko powiązane ścieżki. Powiązane ścieżki to te, które zawierają ścieżkę użytą w wyświetlanym opisie zmiany. Jeśli pobieramy dziennik folderu, oznacza to cokolwiek w tym folderze lub poniżej. W przypadku pliku, oznacza to tylko ten jeden plik. Normalnie lista ścieżek pokazuje wszystkie inne ścieżki, które są dotknięte tym samym zatwierdzeniem, ale w kolorze szarym. Jeśli pole jest zaznaczone, te ścieżki są ukryte.

Czasami metody pracy wymagają by opisy zmian były w określonym formacie, co oznacza, że ​​tekst opisujący zmiany nie jest widoczny w skróconym podsumowaniu widocznym w górnym panelu. Przez atrybut tsvn:logsummary można wyodrębnić część opisu zmiany do wyświetlenia w górnym panelu. Czytajcie „Atrybuty projektu TortoiseSVN”, aby dowiedzieć się jak korzystać z tego atrybutu.

Brak Formatowania dziennika z przeglądarki repozytorium

Ponieważ formatowanie zależy od dostępu do właściwości Subversion, wyniki można zobaczyć tylko używając pobranej kopii roboczej. Pobieranie właściwości zdalnie jest działaniem powolnym, więc nie będzie widać działania tej funkcji na przeglądarkce repozytorium.

Informacje statystyczne

Przycisk Statystyka wyświetla pole pokazujące kilka ciekawych informacji na temat wersji przedstawionych w oknie dziennika. Pokazuje ono, jak wielu autorów było przy pracy, ile zatwierdzeń zrobili, tygodniowe postępy i wiele innych. Teraz widać na pierwszy rzut oka, który pracuje najciężej, a kto się obija ;-)

Strona statystyk

Ta strona zawiera wszystkie liczby jakie można wymyślić, w szczególności okres i liczbę objętych nim wersji, a także niektóre minima/maksima/wartości średnie.

Strona zatwierdzeń według autorów

Rysunek 4.25. Histogram zatwierdzenia-wg-autorów

Histogram zatwierdzenia-wg-autorów


Ten wykres pokazuje, które autorzy pracują nad projektem w formie wykresu prostego słupkowego, skumulowanego słupkowego lub kołowego.

Rysunek 4.26. Wykres kołowy zatwierdzenia-wg-autorów

Wykres kołowy zatwierdzenia-wg-autorów


W przypadku, gdy istnieje kilku głównych autorów i wielu pomniejszych współpracowników, liczba małych segmentów może sprawić, że wykres bardzo stanie się trudny do odczytania. Suwak na dole pozwala na ustawienie progu (jako procent wszystkich zatwierdzeń), poniżej którego wszelkie działania są przydzielone do kategorii Innych.

Strona zatwierdzeń według daty

Rysunek 4.27. Wykres zatwierdzeń według daty

Wykres zatwierdzeń według daty


Na tej stronie znajduje się graficzna reprezentacja działań związanych z projektem pod względem liczby zatwierdzeń i autorów. To daje pewne wyobrażenie, kiedy pracowano nad projektem i kto pracował w jakim czasie.

Kiedy jest wielu autorów, otrzymacie dużo linii na wykresie. Istnieją dwa dostępne tutaj widoki: normalne, gdzie aktywność każdego autora jest względna w stosunku do linii bazowej, a skumulowane, gdzie aktywność każdego autora mierzona jest w stosunku do linii poniżej. Ta druga opcja pozwala na uniknięcie przecinania się linii, co czynić może wykres bardziej czytelnym, ale trudniej znaleźć pracę jednego autora.

Domyślnie analiza uwzględnia wielkość liter, więc użytkownicy PeterEgan i PeteRegan są traktowani jako różni autorzy. Jednak w wielu przypadkach nazwy użytkowników nie rozróżniają wielkości liter, a czasami są wprowadzone niekonsekwentnie, więc należy DavidMorgan i davidmorgan traktować jako tą samą osobę. Użyj pola wyboru Autorzy bez uwzględnienia wielkości liter, aby kontrolować sposób obsługi.

Należy pamiętać, że statystyki dotyczą tego samego okresu co okno dziennika. Jeśli jest ono wyświetlanie tylko dla jednej wersji, to statystyki nie powiedzą wam zbyt wiele.

Tryb offline

Rysunek 4.28. Okno dialogowe przejścia offline

Okno dialogowe przejścia offline


Jeśli serwer jest nieosiągalny, a macie włączone buforowanie dziennika, możecie użyć okna dziennika i wykresu wersji w trybie offline. Używa ono danych z bufora, co pozwala na kontynuowanie pracy mimo że informacje mogą nie być aktualne lub nawet pełne.

Są tutaj trzy opcje:

Na razie offline

Wykonuje bieżącą operację w trybie offline, ale spróbuje połączyć się do repozytorium następnym razem, gdy wymagane są dane dziennika.

Zawsze offline

Pozostanie w trybie offline do czasu żądane jest sprawdzenie repozytorium. Zobaczcie „Odświeżanie widoku”.

Anuluj

Jeśli nie chcecie kontynuować operacji na prawdopodobnie nieaktualnych danych, po prostu anulujcie.

Pole wyboru Zapisz jako domyślny zapobiega ponownemu pojawieniu się tego okna i zawsze stosuje opcję, którą teraz wybierzecie. Możecie jeszcze zmienić (lub usunąć) to domyślne ustawienie w korzystając z TortoiseSVNUstawienia.

Odświeżanie widoku

Jeśli chcecie ponownie sprawdzić serwer czy są nowe opisy zmian, można po prostu odświeżyć widok używając przycisku F5. Jeśli używacie bufora dziennika (domyślnie włączonego), repozytorium zostanie sprawdzone czy są nowe opisy i pobierane są tylko nowe. Jeśli bufor dziennika w trybie offline, nastąpi próba powrotu do trybu online.

Jeśli używacie buforu dziennika i uważacie, że treści opisu lub autor mógł się zmienić, można użyć Shift-F5 lub Ctrl-F5 by ponownie pobrać wyświetlane opisy z serwera i zaktualizować bufor dziennika. Zauważcie, że dotyczy to tylko wiadomości aktualnie wyświetlanych i nie unieważnia całej zawartości bufora dla tego repozytorium.

TortoiseSVN homepage