SVN – system kontroli wersji

SVN (Subversion) – system kontroli wersji

 

wersjonowanie plików.

 

repoztorium

dotarcie poprzez różne protokoły:

  • file:// – bezpośredni, lokalny system plików
  • http:// – protokół WebDAV
  • https:// – protokół WebDAV z szyfrowaniem SSL
  • svn:// – protokół Subversion (port 3690)
  • svn+ssh:// – protokół Subversion przez tunelSSH

 

mergeowanie

commit

working copy – kopia robocza by móc pracować, modyfikować plik repozytorium SVN

merge – scalenie zmian

zakomitować – wprowadzić modyfikowany plik do repozytorium

 

working copy – kopia konkretnej rewizji drzewa repozytorium. Wprowadzenie commit swoich zmian a repozytorium zawiera nowszą wersję (plik z wyższa rewizją niż twoja, lokalna) należy dokonać scalenia (merge) zmian.

 

nie wersjonuje plików dla których nie można poprawnie wykonać wersji różnicowej (pliki binarne, graficzne, video).

Globalny system numerowania rewizji – numer rewizji = kolejny numer każdego wykonanego commita

 

nakładka – TortoiseSVN

 

Polecenia SVN

svn add<path> – (svn add style.css) – dodanie pliku/katalogu do repozytorium w bieżącej ścieżce kopii roboczej

svn commit [path] – (svn commit style_a.css style_b.css directory/style_c.css) – zatwierdzenie lokalnych zmian, zapisanie w repozytorium. Brak ścieżki – katalog bieżący

svn checkout <url>[@version]<local path> – (svn checkout svn://server:port/path/local directory) – pobranie do lokalnej ścieżki gałąź drzewa repozytorium

svn co… – skrót svn checkout

svn update – (svn update style_a.css style_b.css) – naniesienie zmian z repozytorium do kopi roboczej (working copy). Przy ewentualnych zmianach lokalnych – próba 'inteligentnego’ zcalenia zmian lokalnych i zmian w repozytorium

svn up… – skrót svn update

 

svn blame<file>[@version] – (svn blame style.css) – wypisanie zawartości pliku, dodanie w każdym wierszu info o osobie odpowiedzialnej za wiersz i rewizję w której był dodany lub modyfikowany

svn cat <file>[@version] – (svn cat svn://server:port/path/style.css) – wypisanie zawartości pliku

 

 

dodanie nowego (z własnego dysku) pliku / katalogu do tworzonego repozytorium

svn import  /directory svn://server:port/new/path/trunk – import istniejącego kodu do repozytorium

 

dodanie pliku do istniejącego repozytorium

  1. ściągnąć lokalną wersje istniejącego drzewa
  2. skopiować do tego katalogu w kopi roboczej (na dysku) nowy plik
  3. dodać nowy plik przez svn add style.css (identycznie z katalogami z zawartością)
  4. wywołać polecenie svn commit style.css – aby był widoczny dla innych
  5. svn checkout
  6. uaktualnienie kopi roboczej svn update
  7. dokonać zmian/ modyfikacji w plikach roboczych (working copy)
  8. dodanie nowych plików/ katalogów – svn add
  9. zapisanie zmian w repozytorium – svn commit

 

Puste repozytorium – tworzenie nowego projektu:

  1. ściągnąć gałąź główną drzewa (svn://server:port/
  2. dodać katalogi z zasobami

 

Tag – kopia konkretnej, stabilnej wersji projektu, najczęściej jako kopia aktualnej wersji katalogu trunk lub konkretnego podkatalogu branch

Trunk (pień) – główna gałąź rozwijanego projektu

Branch (gałąź) – gałąź projektu, gdzie rozwija się nowe funkcjonalności