Spis treści
Subversion (SVN) to system kontroli wersji. Higiena pracy z SVN
polega na sprawdzaniu co jakiś czas czy nie nastąpiła zmiana
dokumentów w repozytorium (czy ktoś czegoś nie zmienił), za pomocą
svn update oraz
równie częstego dodawania własnych zmian za pomocą
svn commit, poprzedzonego svn status.
Dzięki temu uniknie się rozsynchronizowania.
Pobieramy archiwum MSI ze strony tortoisesvn.tigris.org. Po zainstalowaniu program jest zintegrowany z Eksploratorem Windows (EW).
Pobranie modułu z repozytorium (polecenie checkout): w oknie EW kliknij prawy przycisk myszy. Wybierz SVN Checkout (por. rys. 1 (SVN checkout)). W wyświetlonym oknie dialogowym wpisz adres repozytorium w polu tekstowym zatytułowanym URL of repository, np. (por. rys. 2 (SVN checkout: podanie adresu repozytorium):
svn+ssh://login@svn.gust.org.pl/Data/svn/e-learning
Naciśniej . W kolejnym oknie dialogowym, które pojawi się po pewnej chwili wpisz hasło i naciśniej (por. rys. 3 (SVN checkout: podanie hasła)).
Okno z potwierdzeniem hasła może być wyświetlane kilkukrotnie, po czym zawartość modułu z repozytorium zacznie być przesyłana na lokalną maszynę. Lista przesyłanych plików jest wyświetlana w oknie widocznym na rys. 4 (SVN checkout: lista plików). Kliknij w aktywny przycisk po zakończeniu transferu wszystkich plików.
Aktualizacja modułu z repozytorium na lokalnej maszynie (polecenie update): w oknie EW przejdź do odpowiedniego katalogu (folderu) i kliknij prawy przycisk myszy. Wybierz update. Nastąpi aktualizacja zawartości katalogu wraz z ewentualnymi podkatalogami.
Przesłanie zmian do repozytorium (polecenie
commit): w oknie EW przejdź do odpowiedniego
katalogu (folderu). Rysunek 5 (SVN checkout: przykładowy folder) przedstawia
przykładowy wygląd folderu. W Programie
tortoisesvn nie ma potrzeby używania polecenia
status: status pliku jest określany za pomocą
ikon. Pliki i katalogi niezmodyfikowane są oznaczane ikoną ,,ptaszka''
na zielonym tle zaś pliki
i katalogi zmodyfikowane są oznaczone ikoną wykrzyknika
na czerwonym tle.
Kliknij prawy przycisk myszy i wybierz commit. W wyświetlonym oknie dialogowym dolne pole zawiera listę zmienionych plików. Pliki zaznaczone zostaną wysłane do repozytorium 6 (SVN commit: lista plików do wysłania). Górne pole tekstowe służy do wpisania komentarza, opisującego modyfikacje i zmiany (por. rys. 7 (SVN commit: wpisanie komentarza)). Po naciśnięciu pliki są wysyłane do repozytorium.
Sprawdź czy svn jest dostępny wydając polecnie svn. Jeżeli
nie jest, to zainstaluj go korzystając z odpowiedniego
pakietu .rpm, .deb itp.
Pobranie modułu z repozytorium (polecenie checkout):
svn checkout svn+ssh://svn.gust.org.pl/Data/svn/e-learning lakurs
Określenie statusu plików w module na maszynie lokalnej (polecenie status):
svn status
w rezultacie wyświetlana jest lista plików, np:
? README A lo2html M schema/Makefile M style/lo2html.xsl
Powyższe oznacza, że plik README nie znajduje się w repozytorium
(status nieokreślony, ?), plik lo2html
ma status pliku dodanego do repozytorium (A),
zaś pliki Makefile oraz lo2html.xsl
z katalogu style zostały
zmodyfikowane (M).
Aktualizacja modułu z repozytorium na lokalnej maszynie (polecenie update):
svn update
polecenie działa w katalogu zawierającego moduł i dowolnym jego podkatalogu, z tym że w podkatalogu odnosi się tylko do zawartości tego podkatalogu (i jego podkatalogów).
Przesłanie zmian do repozytorium (polecenie commit):
svn commit -m 'komentarz-dt.-zmiany'
powyższe wyśle wszystkie zmienione pliki, jeżeli mają być wysłane tylko określone pliki, to:
svn commit -m 'komentarz-dt.-zmiany' plik plik...
Powyższe polecenie działa w katalogu zawierającym moduł i dowolnym podkatalogu, z tym że w podkatalogu odnosi się tylko do zawartości tego podkatalogu (i jego podkatalogów)
Dodanie pliku (plików) do istniejącego modułu (polecenie add):
svn add pliki svn commit -m'komentarz' pliki
Dodanie plików do modułu wykonuje się w dwóch krokach: najpierw wykonuje
się polecenie add, które dodaje pliki do lokalnego repozytorium
i nadaje im odpowiedni status. Pliki te zostaną dodane do modułu SVN
za pomocą svn commit. Można usunąć pliki z listy plików dodawanych
do modułu wykonując svn revert (wykonane przed
svn commit).
Wypisanie historii zmian (polecenie log):
svn log
oraz aktualizacja modułu w określonej wersji:
svn -r5 up
Collins-Sussman B., Fitzpatrick B.W., Pilato C. M., Version control with subversion, O'Reilly Media 2004, http://svnbook.red-bean.com/
Jones J., Subversion UI Shootout, O'Reilly Media 2006, http://www.onlamp.com/pub/a/onlamp/2005/03/10/svn_uis.html
Wolff D., Using Subversion at PLU with Tortoise SVN, http://www.cs.plu.edu/~dwolff/svn-tutorial/svn-tutorial.html
Küng S., Onken L., Large S., TortoiseSVN A Subversion client for Windows Version 1.4.1, http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html