to get the file

Transkrypt

to get the file
SVN - wprowadzenie
Adam Krechowicz
16 lutego 2013
1
Wprowadzenie do SVN
SVN SubVersion jest systemem kontroli wersji pozwalaj¡cym wielu u»ytkownikom na swobodne wspóªdzielenie tych samych plików. Pozwala na wspólne
modykowanie tych samych plików przez wiele osób oraz odpowiada za przechowywanie historii wprowadzonych zmian. Wspóªdzielone pliki przechowywane s¡ na serwerze w postaci repozytotium. U»ytkownicy mog¡ pobiera¢
zawarto±¢ repozytorium, modikowa¢ lokalnie a nast¦pnie zatwierdzi¢ dokonane modykacje w formie kolejnej rewizji (wersji) w repozytorium.
1.1
Podstawowe funkcje
• checkout utworzenie kopii plików znajduj¡cych si¦ w repozytorium na
lokalnym komputerze. Operacj¦ t¡ wykorzystuje si¦ zwykle tylko raz,
podczas pierwszego dost¦pu do repozytorium.
• update pobranie najnowszej wersji plików z repozytiurium
• commit zatwierdzenie zmian. Powoduje wysªanie zmian dokonanych w plikach do repozytorium. Tym samym wprowadzone przez nas
zmiany sat¡ si¦ najnowsz¡ wersj¡ w repozytorium.
2
2.1
U»ywanie SVN
Windows
W systemie Windows do obsªugi SVN najlepiej wykorzysta¢ program TortoiseSVN http://tortoisesvn.net/. Program integruje si¦ z powªok¡ i mo»na do
niego uzyska¢ dost¦p z menu podr¦cznego:
1
Aby uzyska¢ dost¦p do repozytorium nale»y wykona¢ operacj¦ SVN Checkout :
Po wpisaniu prawidªowego adresu repozytorium zostaniemy poproszeni o
wpisanie loginu i hasªa w celu autoryzacji u»ytkownika (warto rozwa»y¢ opcj¦
zapami¦tania hasªa).Po prawidªowej autoryzacji nast¡pi ±ci¡gni¦cie plików
znajduj¡cych si¦ w repozytorium na lokalny dysk. Pliki zostan¡ oznaczone
w sposób wskazuj¡cy na to, »e podlegaj¡ one kontroli wersji:
2
Zielona ikona wskazuje na to, »e pliki znajduj¡ce si¦ w zadanym katalogu
s¡ zgodne ze ±ci¡gni¦t¡ wersj¡ z repozytorium.
Je±li zawarto±¢ katalogu podlegaj¡ca kontroli wersji zostanie zmodykowana
folder zostanie stosownie oznaczony za pomoc¡ czerwonej ikony:
Modykacje mo»na zatwierdzi¢ za pomoc¡ polecenia SVN Commit. Spowoduje to wysªanie zmian do repozytorium tak, »e stan¡ si¦ widoczne dla
wszystkich u»ytkowników:
3
W oknie dokonywania zatwierdzenia mo»na ustawi¢ opis zmian (jest to
bardzo dobra praktyka) oraz podejrze¢ zmiany jakie zostan¡ wprowadzone.
W celu pobrania zmian wprowadzonych przez innych nale»y wykorzysta¢
polecenie SVN Update. Spowoduje to ±ci¡gni¦cie najbardziej aktualnej wersji
wszystkich plików z repozytorium na dysk:
4
2.2
Linux
Do korzystania z svn na popularnych dystrybucjach Linuxa mo»na wykorzysta¢ program RapidSVN. Np. w celu zainstalowania go w systemie Ubuntu
nale»y wykona¢ polecenie:
sudo apt−get install rapidsvn
W celu uzyskania dost¦pu do repozytorium nale»y wybra¢ polecenie Repository>Checkout...:
5
Po wpisaniu adresu repozytorium i docelowego katalogu (a nast¦pnie dokonaniu autoryzacji) zawarto±¢ repozytorium zostanie ±ci¡gni¦ta na dysk.
W celu zatwierdzenia lokalnych zmian nale»y wybra¢ opcj¦ Modify->Commit...
lub klikn¡¢ na odpowiedni¡ ikonk¦ na pasku narz¦dzi (Uwaga: ikonka mo»e
by¢ niedost¦pna do czasu rozwini¦cia drzewa repozytorium):
Spowoduje to wy±wietlenie okna w którym mo»emy wpisa¢ co zmienili±my
i zobaczy¢ jakie pliki zostan¡ zmodykowane w repozytorium:
6
W celu ±ci¡gni¦cia najbardziej aktualnej wersji z repozytorium nale»y
wybra¢ opcj¦ Modify->Update lub klikn¡¢ ikonk¦ Update selected. Ikona
tak»e mo»e by¢ niedost¦pna je±li drzewo danego repozytorium jest zwini¦te.
2.3
Konsola
Dost¦p do svn mo»na tak»e uzyska¢ poprzez konsol¦ systemu Linux. Dost¦p
za pomoc¡ linii polece« mo»e si¦ przyda¢ je±li na komputerze nie ma interfejsu
7
gracznego.
$sudo apt−get install subversion
Kilka przykªadowych komend:
$svn checkout http://kronos.tu.kielce.pl/svn/prezentacja
$svn update prezentacja/
$svn commit prezentacja/ −m"Zmieniono kilka rzeczy"
3
Zarz¡dzanie plikami
SVN zarz¡dza tylko plikami znajduj¡cymi si¦ w repozytorium. Dodanie nowego pliku do katalogu powi¡zanego z repozytorium nie spowoduje automatycznie dodania go do repozytorium. W przypadku TortoiseSVN pliki nie
podlegaj¡ce wersjonowaniu oznaczane s¡ za pomoc¡ niebieskiej ikony:
W celu dodania pliku do repozytorium nale»y u»y¢ opcji Add. Dodanie
pliku do repozytorium nast¡pi po wykonaniu nast¦pnego zatwierdzenia opcj¡
Commit. W przypadku folderów warto wykorzysta¢ opcj¦ rekurencyjnego dodawania aby pliki w dodawanym folderze tak»e dodaªy si¦ do repozytorium.
W przypadku usuwania plików lokalne usuni¦cie nie spowoduje usuni¦cia
pliku w repozytorium. Po wykonaniu nast¦pnej operacji Update brakuj¡cy
8
plik zostanie ponownie ±ci¡gni¦ty. W celu usuni¦cia pliku z repozytorium nale»y u»y¢ opcji Delete. Rzeczywiste usuni¦cie nast¡pi po nast¦pnym u»yciu
opcji Commit
UWAGA: Lokalne usuni¦cie pliku a nast¦pnie u»ycie opcji Update mo»e
by¢ wykorzystane jako prosty sposób na przywrócenie z repozytorium pomyªkowo lokalnie zmodykowanego pliku.
4
Inne opcje SVN
• Show log opcja pozwala na przejrzenie ostatnich rewizji. Pozwala
okre±li¢ który u»ytkownik, kiedy i co zmodykowaª. Wiele klientów
svn pozwala tak»e na przejrzenie ró»nic w plikach pomi¦dzy dwoma
rewizjami.
• Resolve conict w przypadku np. modykacji nieaktualnego pliku
mo»e wyst¡pi¢ sytuacja koniktu. Opcja ta pozwala na szybkie rozwi¡zanie koniktu.
• Lock je±li wykonujemy krytyczne zmiany warto uzyska¢ wyª¡czno±¢
na modykowanie pliku. Inni u»ytkownicy nie b¦d¡ mogli zatwierdza¢
zmian w zablokowanym pliku do czasu zdj¦cia blokady.
• tag opcja powoduje skopiowanie wersji z repozytorium. Wykorzystywane w celu oznaczenia np. kolejnych tworzonych wersji.
• branch opcja powoduje skopiowanie wersji z repozytorium. Wykorzystywane w celu stworzenia odr¦bnej wersji w której mo»na pracowa¢
nad zadaniem pobocznym do gªównej wersji.
5
Zasady korzystania z repozytorium
Klika prostych zasad które pomog¡ zapobiec kªopotom:
1. Przed przyst¡pieniem do pracy nale»y u»y¢ opcji Update aby uzyska¢
dost¦p do najbardziej aktualnej wersji.
2. Po zako«czeniu pracy nale»y u»y¢ opcji Commit aby inni u»ytkownicy
mieli dost¦p do wprowadzonych zmian.
3. Nie nale»y wykonywa¢ opcji Commit je±li nasze lokalne zmiany nie s¡ w
caªo±ci sko«czone (np. gdy stworzony przez nas kod powoduje bª¦dy).
9
4. Nie nale»y dodawa¢ do repozytorium plików po±rednich (np plików *.o).
Ich dodanie mo»e powodowa¢ bª¦dy na innych komputerach.
5. Nale»y rozwa»nie modykowa¢ pliki binarne. Pliki tekstowe mog¡ by¢
modikowane przez kilka osób na raz i ich zawarto±¢ zostanie prawidªowo poª¡czona. W przypadku plików binarnych mo»e doj±¢ do utracenia cz¦±ci zawarto±ci.
6. Je±li zawiod¡ wszystkie próby przywrócenia spójno±ci lokalnej wersji
repozytorium najszybsz¡ metod¡ mo»e okaza¢ si¦ usuni¦cie lokalnej
kopii i skorzystanie ponownie z opcji Checkout
10

Podobne dokumenty