Wysyłanie zmian dokonanych w kopii roboczej jest znane jako zatwierdzenie zmiany. Ale zanim zatwierdzicie, musicie upewnić się, że kopia robocza jest aktualna. Możecie użyć bezpośrednio
→ . Można też użyć najpierw → , aby zobaczyć, które pliki zostały zmienione lokalnie lub na serwerze.Jeśli kopia robocza jest aktualna i nie ma żadnych konfliktów, jesteście gotowi, aby zatwierdzić swoje zmiany. Wybierzcie dowolne pliki lub foldery, które chcecie zatwierdzić, a następnie
→ .Okno dialogowe zatwierdzenia pokaże zmienione pliki, w tym dodane, usunięte i niewersjonowane. Jeśli nie chcecie by zmieniony plik został zatwierdzony, wystarczy usunąć zaznaczenie tego pliku. Jeśli chcecie dołączyć plik będący do tej pory poza kontrolą wersji, wystarczy go zaznaczyć, by dodać do zatwierdzenia.
Aby szybko zaznaczyć lub odznaczyć rodzaje plików jak wszystkie wersjonowane pliki lub wszystkie zmienione pliki należy kliknąć na link tuż ponad wyświetlonych plików.
Dla uzyskania informacji o kolowaniu oraz nakładkach na elementy obrazujących ich stan, przejrzyj „Status lokalny i zdalny”.
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!
Kiedy zatwierdza się pliki, okno dialogowe zatwierdzenia pokazuje tylko wybrane pliki. Kiedy zatwierdzasz folder, okno dialogowe wybiera automatycznie zmienione pliki. Jeśli zapomnicie o nowo utworzonym pliku, zatwierdzenie folderu znajdzie go tak czy owak. Zatwierdzenie folderu nie oznacza, że każdy plik zostanie oznaczony jako zmieniony, po prostu ułatwia życie, wykonując dla was więcej pracy.
Jeśli uważacie, że okno dialogowe zatwierdzenia pokazuje zbyt wiele niewersjonowanych plików (np. generowane przez kompilator lub kopie zapasowe edytora), istnieje kilka sposobów, aby sobie z tym poradzić. Można:
dodanie pliku (lub symbolu wieloznacznego rozszerzenia) do listy plików wykluczonych na stronie ustawień. Wpłynie to na każdą wczytaną kopię roboczą.
dodajcie plik do listy svn:ignore
za pomocą → . Będzie to miało wpływ tylko na katalog, w którym ustawiono atrybut svn:ignore
. Korzystając z okna dialogowego atrybutów SVN możecie zmienić atrybut svn:ignore
dla katalogu.
dodanie pliku dolisty svn:global-ignores
korzystając z → Będzie to dotyczyć folderu, na którym ustawiliście atrybut svn:global-ignores
oraz wszystkich jego podfolderów.
Czytajcie „Ignorowanie plików i folderów” by uzyskać więcej informacji.
Dwuklik na zmodyfikowanym pliku w oknie dialogowym zatwierdzenia uruchamia zewnętrzne narzędzie porównywania, aby pokazać zmiany. Menu kontekstowe daje więcej możliwości, jak to pokazano na zrzucie ekranu. Można także przeciągnąć stąd pliki do innych aplikacji, takich jak edytor tekstu lub IDE.
Można zaznaczyć lub usunąć zaznaczenie elementu klikając pole wyboru po lewej stronie pozycji. Dla katalogów można użyć SHIFT-wybór by działanie wykonać rekursywnie.
Kolumny wyświetlane w dolnej części okna są konfigurowalne. Jeśli kliknie się prawym przyciskiem myszy na dowolną kolumnę z nagłówka pojawi się menu, które pozwala 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.
Domyślnie, kiedy zatwierdzacie zmiany, wszystkie blokady,założone na pliki są automatycznie zwalniane gdy zatwierdzenie się powiedzie. Jeśli chcecie zachować te blokady, upewnijcie się, że pole wyboru Trzymaj blokady jest zaznaczone. Domyślny stan tego pola wyboru jest pobierany z opcji no_unlock
w pliku konfiguracyjnym Subversion. Czytajcie „Ustawienia ogólne” by zyskać informacje na temat, jak edytować plik konfiguracyjny Subversion.
Zwykle zatwierdzenia wykonywane są do linii głównej lub gałęzi, nie zaś do etykiet. Ostatecznie etykieta jest uważana za stan poprawnie zdefiniowany i nie powinna się zmieniać.
Gdy następuje próba zatwierdzenia na URL etykiety, TortoiseSVN wyświetla okno dialogowe z prośbą o potwierdzenie, by zapewnić że jest to zamierzone działanie. To zaś dlatego, że takie zatwierdzenie jest wykonywane przez przypadek.
Jednak takie sprawdzenie działa tylko wtedy, gdy układ repozytorium jest jednym z sugerowanych, to jest używane są w nim nazwy trunk
, branches
i tags
by wskazać podstawowe trzy obszary. W przypadku innej konfiguracji, wykrywanie co jest etykietą/gałęzią/linią główną (zwane również wzorcami klasyfikacji
), może być skonfigurowane w oknie ustawień: „Ustawienia wykresu wersji”
Możecie przeciągać pliki do okna dialogowego zatwierdzenia z zewnątrz tak długo, jak ich kopie robocze są pobierane z tego samego repozytorium. Na przykład, możecie mieć ogromną kopię roboczą z kilkoma otwartymi oknami eksploratora by przeglądać odległe foldery w hierarchii. Jeśli chcecie uniknąć zatwierdzania z katalogu najwyższego poziomu (z długim indeksowaniem folderu by sprawdzić zmiany) można otworzyć okno dialogowe zatwierdzenia jednego folderu i przeciągnąć do niego elementy z innych okien by zawrzeć je w tym samym atomowym zatwierdzeniu.
Możecie przeciągać pliki bez informacji o wersji, które znajdują się wewnątrz kopii roboczej okna dialogowego zatwierdzenia i zostaną one dodane do SVN automatycznie.
Przeciągnięcie plików z listy na dole okna dialogowego zatwierdzenia do pola edycji wiadomości dziennika wprowadza ścieżki jako zwykły tekst w tym polu edycji. Jest to przydatne jeśli chcecie napisać do dziennika opis zmiany, która zawiera ścieżki dotknięte przez zatwierdzenie.
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ę.Dialog zatwierdzenia obsługuje funkcję listy zmian Subversion, aby pomóc zgrupować powiązane pliki razem. Dowiedz się więcej o tej funkcji w „Listy zmian”.
Czasami chcecie zatwierdzić tylko część zmian, jakie wprowadziliście do pliku. Taka sytuacja powstaje zazwyczaj gdy pracujecie nad czymś a w międzyczasie musi być zatwierdzona pilna poprawka, przy czym ta pilna poprawka znajduje się w tym samym pliku, który właśnie rozgrzebaliście.
kliknijcie prawym przyciskiem myszy na pliku i użyjcie → . Spowoduje to utworzenie kopii pliku w stanie, w jakim się znajduje. Następnie możecie edytowac plik, np. w edytorze tekstowym i wycofać wszystkie zmiany, których nie zamierzacie zatwierdzać. Po zapisaniu tych zmian można zatwierdzić plik.
Przy użyciu TortoiseMerge do edycji pliku,można albo edytować zmiany, jak to się zwykle czyni, albo zaznaczyć szystkie zmiany do wprowadzenia. kliknijcie prawym przyciskiem myszy na zmienionym bloku i użyjcie → by dodać zmianę. Na koniec kliknijcie prawym przyciskiem myszy i użyjcie → co spowoduje zmianę prawego widoku na zawierający tylko zmiany przed chwilą zaznaczone i wycofać zmiany niezaznaczone.
Po wykonaniu zatwierdzenia kopia pliku zostaje automatycznie odtworzona i otrzymujecie z powrotem plik ze wszystkimi waszymi niezatwierdzonymi modyfikacjami.
Macie czasem wersjonowane pliki, które często się zmieniają, ale tak naprawdę nie trzeba ich zatwierdzać. Czasem oznacza to błąd w procesie kompilacji - dlaczego te pliki mają być pod kontrolą wersji? może należy używać plików szablonu? Jednak czasami jest to nieuniknione. Klasycznym powodem jest, gdy IDE zmienia znacznik czasu w pliku projektu przy każdej kompilacji. Plik projektu musi być wersjonowany, ponieważ zawiera wszystkie ustawienia kompilacji, ale nie musi być zatwierdzany tylko dlatego, że zmienił się znacznik czasu.
Aby pomóc w takich niewygodnych przypadkach, mamy zarezerwowane listę zmian o nazwie ignore-on-commit
. Każdy plik dodany do tej listy zmian zostanie automatycznie odznaczona w oknie dialogowym zatwierdzenia. Nadal możesz zatwierdzać zmiany, ale należy wybrać go ręcznie w oknie dialogowym.
Pamiętajcie, aby podać komunikat dziennika, która opisuje Wasze zmiany. To pomoże wam zorientować się, co i kiedy się stało podczas przeglądania opisów zmian projektu w późniejszym terminie. Wiadomość może być tak długa lub krótka, jak chcecie; wiele projektów posiada wytyczne odnośnie tego co powinno być uwzględnione, używanego języka, a czasami nawet mają ścisły format.
Można zastosować proste formatowanie do opisów zmian przy użyciu konwencji podobnej do tej stosowanej w wiadomości e-mail. Aby zastosować styl do zapis
, użyj *zapis*
dla pogrubienia, _zapis_
dla podkreślenia i ^zapis^
by uzyskać kursywę.
TortoiseSVN zawiera moduł sprawdzania pisowni, aby pomóc wpisywać poprawnie opisy zmian. W wszelkie błędnie napisane słowa zostają podkreślone. Użyjcie menu kontekstowego by przejść do proponowanych poprawek. Oczywiście, że nie zna on każdego terminu technicznego, którego używacie, więc poprawne słowa czasami pojawiają się jako błędy. Ale nie martwcie się. Wystarczy je dodać do słownika użytkownika za pomocą menu kontekstowego.
Okno opisu zmiany posiada także usprawnienie automatycznego uzupełniania nazwy pliku i funkcji. Używa wyrażeń regularnych aby wyodrębnić nazwy klas i funkcji z (tekstowych) plików, które są zatwierdzane, jak również nazwy ich samych. Jeśli wpisywane słowo pasuje do jakiegoś wpisu z listy (po wpisaniu co najmniej 3 znaków, lub wciśnięciu Ctrl+Spacja), pojawia się menu rozwijane pozwalając wybrać pełną nazwę. Wyrażenia regularne dostarczane z TortoiseSVN znajdują się się w folderze instalacjyjnym TortoiseSVN bin
. Można również zdefiniować własne regeksy i przechowywać je w %APPDATA%\TortoiseSVN\autolist.txt
. Oczywiście prywatna autolista nie zostanie nadpisana podczas aktualizacji instalacji TortoiseSVN. Jeśli nie jesteście zaznajomieni z wyrażeniami regularnymi, rzućcie okiem na wprowadzenie pod adresem https://en.wikipedia.org/wiki/Regular_expression, lub dokumentację online i samouczek pod http://www.regular-expressions.info/.
Ustalenie właściwego wyrażenia regularnego może być trudne, więc aby pomóc dojść do właściwego wyrażenia mamy okno testowe, które pozwala wprowadzić wyrażenie, a następnie wpisać w nazwach plików na których należy je przetestować. Uruchamia się je z wiersza poleceń za pomocą polecenia TortoiseProc.exe /command:autotexttest
.
Okno komunikatu zatwierdzenia zawiera również udogodnienie podpowiedzi fragmentów komunikatu. Fragmenty są pokazywane w dymku podpowiedzi automatycznych gdy wpisze się skrót fragmentu, a zaznaczenie fragmentu w dymku wstawia jego pełny tekst. Fragmenty dostarczane z TortoiseSVN są przechowywane w podfolderze bin
folderu instalacyjnego TortoiseSVN. Możecie również definiować własne fragmenty i trzymać w %APPDATA%\TortoiseSVN\snippet.txt
. #
jest znakiem początku komentarza. Znaki nowej linii można zapisać korzystając ze znanego z wyrażeń regularnych zapisu ze znakiem ucieczki \n
i \r
. By wstawić backslash należy użyć poprzedzającego ukośnika odwrotnego jako znaku ucieczki \\
.
Możecie ponownie wykorzystać wcześniej wprowadzone opisy zmian. Wystarczy kliknąć na
, aby wyświetlić listę ostatnich kilku wiadomości wprowadzonych dla tej kopii roboczej. Liczbę zapisanych wiadomości można dostosować w oknie ustawień TortoiseSVN.Można usunąć wszystkie zapisane wiadomości zatwierdzenia ze strony ustawień Zapisane dane TortoiseSVN, lub można usunąć pojedyncze wiadomości w oknie dialogowym Ostatnie komunikaty przy pomocy klawisza Delete.
Jeśli chcecie użyć zaznaczonych ścieżek w opisie zmiany, możecie użyć polecenia
→ w polu edycji.Innym sposobem wprowadzania ścieżki do opisu zmiany jest po prostu przeciągnięcie plików z listy do wnętrza kontrolki.
Istnieje kilka specjalnych właściwości folderu, które mogą być wykorzystany do osiągnięcia większej kontroli nad formatowaniem wiadomości dziennika zatwierdzeń i języka używanego przez moduł sprawdzania pisowni. Czytajcie „Ustawienia projektu” w celu uzyskania dalszych informacji.
Mając działający system śledzenia błędów, można przypisać jeden lub więcej zagadnień w polu tekstowym ID błędu / Nr zgłoszenia:. Poszczególne zgłoszenia powinny być oddzielone przecinkami. Ewentualnie, jeśli używacie opartego na wyrażeniach regularnych na wsparcia śledzenia błędów, po prostu dodajcie referencje zagadnień jako część opisu zmiany. Dowiedzcie się więcej pod „Integracja z systemami śledzenia błędów / śledzenia problemów”.
Po naciśnięciu
pojawi się okno dialogowe wyświetlające postęp zatwierdzenia.Okno dialogowe postępu wykorzystuje kodowanie kolorami, aby wyróżnić zatwierdzenia różnych działań
Zatwierdzenie zmiany.
Zatwierdzenie świeżo dodanego.
Zatwierdzenie usunięcia lub zastąpienia.
Wszystkie inne elementy.
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.