„Uprasza się o skierowanie oparć foteli pionowo w górę oraz sprawdzenie czy stoliki są schowane. Uczestnicy lotu proszeni o przygotowanie się do startu….”
Poniżej przedstawiamy ci szybki przewodnik, który przeprowadzi //What follows is a quick tutorial that walks you through some Cię przez podstawowe aspekty konfiguracji i obsługi Subversion. Po przeczytaniu //configuration and operation. When you finish go powinieneś rozumieć do czego typowo wykorzystywany jest ///it, you should have a general understanding of Subversion's Subversion.
|
Notatka |
|---|---|
|
Przykłady wykorzystane w tym dodatku zakładają, że posiadasz
svn, klienta linii poleceń Subversion,
oraz svnadmin, narzędzie administracyjne,
gotowe do użycia w systenie uniksowym. (Ten przewodnik
równie dobrze sprawdza się w pracy z wierszem poleceń systemu Windows,
pod warunkiem że dokonasz odpowiednich normalizacji.) Zakładamy też że korzystasz
z Subversion 1.2 lub późniejszego (użyj polecenia |
Subversion przechowyje wszelkie dane wersjonowania w centralnym repozytorium. Aby zacząć, utówrz nowe:
$ svnadmin create /var/svn/repos $ ls /var/svn/repos conf/ dav/ db/ format hooks/ locks/ README.txt
To polecenie utworzy nowy katalog,
/var/svn/repos, który zawiera repozytorium
Subversion. Zawiera on (między innymi) zbiór
plików bazodanowych. Oznacza to że nie ujrzysz swoich wersjonowanych
plików zagladając do niego. Po więcej informacji na temat repozytorium
jego tworzenia oraz obsługi, zajrzyj do Rozdział 5, Repository Administration.
Subversion nie posiada wbudowanej koncepcji „projektu.” Repozytorium jest po prostu wirtualnym wersjonowanym systemem plików, rozbudowanym drzewem, które może przechowywać cokolwiek chcesz. Niektórzy administratorzy wolą przechowywać tylko jeden projekt w repozytorium, inni natomiast przechowują wiele projektów w jednym repozytorium poprzez umieszczanie ich w podkatalogach. Omawaiamy wady i zalety obydwu podejść w rozdziale „Planning Your Repository Organization”. Niezależnie od wybranego rozwiązania, repozytorium zarządza jedynie plikami i katalogami, a więc „projekt” to zwykły katalog, któremu człowiek nadaje takie znaczenie. Pamiętaj zatem, że mimo wielokrotnych odniesień do terminu „projekt” w tej książce, mamy na myśli pewien katalog (lub ich zbiór) w repozytorium.
W poniższym przykładzie zakładamy, że masz już jakiś projekt
(zbiór plików i folderów), który chciałbyś zaimportować
do świeżo utworzonego repozytorium. Czynność tą rozpocznij
od zorganizowania plików w jednym katalogu, który nazwiesz
moj_projekt (lub w dowolnie inny sposób).
Z powodów wytłumaczonych w rodziale Rozdział 4, Branching and Merging,
na strukturę katalogów powinny składać się trzy
katalogi: branches, tags,
oraz trunk. Katalog trunk
powinien zawierać wszystkie pliki projektu, natomiast
branches i tags
powinny pozostać puste:
/tmp/moj_projekt/branches/
/tmp/moj_projekt/tags/
/tmp/moj_projekt/trunk/
foo.c
bar.c
Makefile
…
Podkatalogi branches, tags,
i trunk w rzeczywistości nie są wymagane
przez Subversion. Są jedynie popularną konwencją nazewnictwa,
która później prawdopodobnie przypadnie ci do gustu.
Kiedy już przygotujesz swoje dane, zaimportuj je do repozytorium poleceniem svn import (zobacz „Wprowadzanie danych do repozytorium”):
$ svn import /tmp/moj_projekt file:///var/svn/repos/moj_projekt -m "initial import" Adding /tmp/moj_projekt/branches Adding /tmp/moj_projekt/tags Adding /tmp/moj_projekt/trunk Adding /tmp/moj_projekt/trunk/foo.c Adding /tmp/moj_projekt/trunk/bar.c Adding /tmp/moj_projekt/trunk/Makefile … Committed revision 1. $
W tym momencie repozytorium zawiera dane i ich strukturę.
Tak jak już jednak wspominaliśmy, nie będziesz w stanie jej ujrzeć
poprzez bezpośredni podgląd repozytorium - wszystko przechowywane
jest w bazie danych. To w niej znajduje się wirtualny system plików
zawierający nadrzędny katalog moj_projekt
z podkatalogami i danymi jakie w nim umieściłeś.
Zauważ, że oryginalny folder /tmp/moj_projekt
pozostał nienaruszony - Subversion nic z nim nie łączy.
ochotę, możesz go usunąć). Żeby rozpocząć prace na danych
znajdujących się w repozytorium musisz utworzyć nową
„kopię roboczą”. Wykonaj „check out”
kopii roboczej katalogu moj_projekt/trunk
znajdującego się w repozytorium:
$ svn checkout file:///var/svn/repos/moj_projekt/trunk moj_projekt A moj_projekt/foo.c A moj_projekt/bar.c A moj_projekt/Makefile … Checked out revision 1.
Posiadasz teraz osobistą kopię repozytorium w nowym
katalogu o nazwie moj_projekt. Możesz wyedytować
pliki w swojej kopii roboczej, po czym zapisać zmiany („commit”)
z powrotem do repozytorium.
Otwórz kopię roboczą i pozmieniaj zawartość dowolnego pliku.
Uruchom svn diff, aby porównać wprowadzone
zmiany z wersją oryginalną.
Uruchom svn commit, aby zapisać
nową wersję pliku w repozytorium.
Uruchom svn update, aby zsynchronizować
swoją kopię roboczą z repozytorium.
Jeśli chcesz pełnego przewodnika po możliwościach swojej kopii roboczej, proszę przeczytaj Rozdział 2, Podstawy użytkowania Subversion.
W tym miejscu masz możliwość udostępnienia swojego repozytoirum innym w sieci. Spójrz do Rozdział 6, Server Configuration, przeczytasz tam o dostępnych różnego rodzajach procesach serwerów oraz sposobach ich konfiguracji.