Manuals

Przejście do jazdy próbnej

Ten rozdział pokazuje, jak wypróbować niektóre z najczęściej używanych funkcji na małym repozytorium testowym. Oczywiście nie wyjaśnia wszystkiego - to tylko ostatecznie Skrócony Przewodnik Startowy. Kiedy już go przejdziecie należy poświęcić trochę czasu i przeczytać resztę tej instrukcji obsługi, która objaśnia znacznie rzeczy bardziej szczegółowo. Wyjaśnia również dokładniej postawienie właściwego serwera Subversion.

Utworzenie repozytorium

Dla prawdziwego projektu należy ustawić repozytorium w bezpiecznym miejscu z kontrolującym go serwerem Subversion. Dla celów tego poradnika będziemy używać funkcji lokalnego repozytorium Subversion, które pozwala na bezpośredni dostęp do repozytorium tworzonego na dysku twardym bez żadnej konieczności korzystania z serwera.

Na początku należy utworzyć nowy, pusty folder na komputerze lokalnym. Może powstać gdziekolwiek, ale na potrzeby naszego samouczka będziemy nazywać go C:\svn_repos. Teraz trzeba kliknąć prawym przyciskiem myszy na tym nowym folderze i w menu kontekstowym wybrać TortoiseSVNTwórz repozytorium tutaj.... Repozytorium zostaje utworzone wewnątrz tego folderu i jest gotowe do pracy. Utworzymy również domyślną strukturę katalogów wciskając przycisk Utwórz strukturę folderów.

Ważne

Funkcja lokalnego repozytorium jest bardzo przydatna do badania i oceny, a o ile nie pracuje się jako jedyny programista na jednym komputerze PC, należy zawsze używać odpowiedniego serwera Subversion. Kuszące jest w małej firmie, by uniknąć pracy nad konfigurowaniem serwera i mieć prosty dostęp do repozytorium przez udział sieciowy. Nie róbcie tego. Spowoduje to utratę danych. Przeczytajcie „Dostęp do repozytorium na udziale sieciowym” by dowiedzieć się, dlaczego jest to zły pomysł i jak skonfigurować serwer.

Importowanie projektu

Posiadamy teraz repozytorium, ale póki co jest ono zupełnie puste. Załóżmy, że mam w C:\Projects\Widget1 zestaw plików, które chcę dodać. Przejdźmy do katalogu Widget1 w Eksploratorze i kliknijmy na nim prawym przyciskiem myszy. Wybierzmy teraz TortoiseSVNImportuj..., co wyświetli okno dialogowe

Rysunek 1.2. Dialog importu

Dialog importu


Repozytorium Subversion jest określone przez adres URL, który pozwala nam wskazać repozytorium z dowolnego miejsca w Internecie. W tym przypadku musimy wskazać nasze własne, lokalne repozytorium, które posiada adres URL file:///c:/svn_repos/trunk i do którego dodamy własny projekt o nazwie Widget1. Zauważcie, że mamy tu 3 ukośniki po file: i że w całej ścieżce używane są ukośniki a nie backslashe.

Inną ważną cechą tego okna jest pole Komunikat importu, które pozwala wprowadzić komunikat opisujący to, co robicie. Kiedy dochodzi do weryfikacji historii projektu, te opisy zmian stanowią cenną pomoc, jakie zmiany zostały dokonane i dlaczego. W tym przypadku możemy powiedzieć, coś prostego, jak Import projektu Widget1. Kliknijcie na OK i folder zostanie dodany do repozytorium.

Uaktualnienie kopii roboczej

Teraz gdy już mamy projekt w naszym repozytorium, potrzebujemy utworzyć kopię roboczą do codziennej pracy. Zauważcie, że sam import folderu nie zmienił go automatycznie w kopię roboczą. Terminem używanym przez Subversion dla utworzenia świeżej kopii roboczej jest Pobranie. Przejdźmy do pobrania folderu Widget1 z naszego repozytorium do folderu rozwojowego na PCcie, który nazwiemy C:\Projects\Widget1-Dev. Utwórzcie ten folder, po czym kliknijcie prawym przyciskiem myszy i wybierzcie TortoiseSVNPobierz.... Następnie wpiszcie adres URL do pobrania, w tym przypadku file:///c:/svn_repos/trunk/Widget1 i wciśnijcie OK. Nasz folder rozwojowy zostaje wtedy zapełniony plikami z repozytorium.

Ważne

W ustawieniach domyślnych pozycja menu pobierz nie znajduje się w podmenu TortoiseSVN ale pokazywana jest w głównym menu eksploratora. Polecenia TortoiseSVN nie umieszczone w podmenu posiadają przedrostek SVN: SVN Pobierz...

Można zauważyć, że wygląd tego folderu różni się od naszego oryginalnego katalogu. Każdy plik ma zielony znacznik wyboru w lewym dolnym rogu. Są to ikony statusu TortoiseSVN, które są obecne tylko w kopii roboczej. Zielony stan wskazuje, że plik nie różni się od wersji w repozytorium.

Wprowadzanie zmian

Czas zabrać się do pracy. W Widget1-Dev zaczynamy edycję plików - powiedzmy, że wprowadzimy zmiany w Widget1.c i ReadMe.txt. Zauważmy, że nakładki ikon dla tych plików zmieniły się teraz na czerwone wskazując, że zmiany zostały wprowadzone lokalnie.

Ale jakie są zmiany? Należy kliknąć prawym przyciskiem myszy na jednym z zmienionych plików i wybrać TortoiseSVNPorównaj. Uruchamia się porównywarka plików TortoiseSVN, pokazując, które dokładnie linie uległy zmianie.

Rysunek 1.3. Przeglądarka różnic pliku

Przeglądarka różnic pliku


OK, więc jesteśmy zadowoleni z tych zmian, zaktualizujmy repozytorium. Działanie to jest określane dalej jakoZatwierdzenie zmian. Trzeba kliknąć prawym przyciskiem myszy na folder Widget1-Dev i wybrać TortoiseSVNZatwierdź. Okno dialogowe zatwierdzenia zawiera listę zmienionych plików, z polem wyboru przy każdym z nich. Możecie wybrać tylko część z plików, ale w tym przypadku mamy zamiar zatwierdzić zmiany do obu plików. Wpiszcie komunikat opisujący, co się zmieniło i kliknijcie OK. Okno dialogowe postępu pokazuje, że pliki są przesyłane do repozytorium i gotowe.

Dodanie kolejnych plików

Wraz z rozwojem projektu trzeba będzie dodawać nowe pliki - powiedzmy, że dodacie kilka nowych funkcji w Extras.c i dodacie odwołanie w istniejącym Makefile. Trzeba kliknąć prawym przyciskiem myszy na folder i TortoiseSVNDodaj. Okno dialogowe dodania pokazuje teraz wszystkie pliki bez informacji o wersji i możecie wybrać te, które chcecie dodać. Innym sposobem dodawania plików jest kliknięcie prawym przyciskiem myszy na plik, i wybór TortoiseSVNDodaj.

Teraz po przejściu do zatwierdzenia folderu, nowy plik pokazuje się jako Dodano a istniejący plik jako Zmodyfikowano. Pamiętajcie, że możecie kliknąć dwukrotnie na zmodyfikowanym pliku, aby sprawdzić dokładnie, jakie zmiany zostały dokonane.

Przeglądanie historii projektu

Jedną z najbardziej przydatnych funkcji TortoiseSVN jest okno dziennika. Pokazuje ono listę wszystkich zatwierdzeń dokonanych na pliku lub folderze oraz wyświetla szczegółowe wiadomości odnośnie zatwierdzeń, które wprowadziliście (wpisaliście komunikat zatwierdzenia zgodnie z sugestiami? Jeśli nie, teraz widzicie dlaczego to takie ważne).

Rysunek 1.4. Dialog dziennika

Dialog dziennika


OK, oszukałem tu trochę i pokazałem zrzut ekranu z repozytorium TortoiseSVN.

W górnej części okna wyświetlana jest lista zatwierdzonych wersji wraz z początkiem opisu zatwierdzenia. Jeśli wybierze się jedną z tych wersji, środkowe okienko pokaże nam pełny opis zmian dla tej wersji a w dolnym panelu pojawi się lista zmienionych plików i folderów.

Każde z tych okienek ma własne menu kontekstowe, które oferuje wiele więcej sposobów wykorzystania tych informacji. W dolnym okienku można kliknąć dwukrotnie na pliku, aby sprawdzić dokładnie, jakie zmiany zostały dokonane w tej wersji. Przejdź do „Okno dialogowe dziennika wersji”, aby poznać całą historię.

Wycofanie zmian

Jedną z cech wszystkich systemów kontroli wersji jest to, że pozwala cofnąć zmiany wprowadzone wcześniej. Jak można się spodziewać, w TortoiseSVN działanie to jest ​​łatwo dostępne.

Jeśli chcecie pozbyć się zmian, których jeszcze nie zatwierdziliście i przywrócić plik do stanu przed rozpoczęciem edycji TortoiseSVNWycofaj jest twoim przyjacielem. Polecenie odrzuca zmiany (do Kosza, na wszelki wypadek) i przywraca zatwierdzoną wersję z początku zmian. Jeśli chcecie pozbyć się tylko niektórych zmian, możecie użyć TortoiseMerge aby zobaczyć różnice i wybiórczo przywrócić zmienione wiersze.

Jeśli chcecie cofnąć skutki poszczególnych wersji, zacznijcie od okna dialogowego dziennika i odszukajcie niewłaściwą wersję. Teraz trzeba wybrać Menu kontekstoweWycofaj zmiany z tej wersji a zmiany te zostaną cofnięte.

TortoiseSVN homepage