Wprowadzanie danych do repozytorium

Nowe pliki zaimportować do repozytorium możesz na dwa sposoby: svn import oraz svn add. Pierwsza z nich zostanie opisania teraz, a druga w dalszej części tego rozdziału podczas opisywania typowego dnia z Subversion.

Polecenie svn import

Komenda svn import jest szybkim sposobem na umieszczenie w repozytorium pliku lub katalogu dotychczas nie podlegającemu zarządzaniu wersjami. Polecenie svn import nie wymaga katalogu będącego kopią roboczą, pliki są bezpośrednio przesyłane do repozytorium. Typowym przypadkiem użycia tego polecenia jest, kiedy masz katalog lub pliki na dysku, które chcesz by zaistniały w repozytorium. Na przykład:

$ svnadmin create /var/svn/newrepos
$ svn import mytree file:///var/svn/newrepos/some/project \
             -m "Initial import"
Adding         mytree/foo.c
Adding         mytree/bar.c
Adding         mytree/subdir
Adding         mytree/subdir/quux.h

Committed revision 1.

W poprzednim przykładzie skopiowano zawartość katalogu mytree do katalogu some/project w repozytorium:

$ svn list file:///var/svn/newrepos/some/project
bar.c
foo.c
subdir/

Należy pamiętać, że podczas importowania plików lub katalogów, oryginalny katalog nie jest przemieniany na kopię roboczą repozytorium. Aby rozpocząć pracę z repozytorium, musisz jeszcze wydać polecenie svn checkout by utworzyć nową kopię roboczą repozytorium.

Zalecana struktura repozytorium

Chociaż Subversion nie narzuca struktury repozytorium, które możesz określić w dowolny sposób, zalecamy utworzyć katalog trunk trzymający stabilną wersję danych (kodu) – tzw. główną linię rozwoju, katalog branches do przechowywania kopi rozgałęzień, a katalog tags do przechowywania kopi danych oznaczonych tagiem. Na przykład:

$ svn list file:///var/svn/repos
/trunk
/branches
/tags

Więcej o tagach i rozgałęzieniach dowiesz się w Rozdział 4, Branching and Merging. Aby uzyskać szczegółowe informacje jak skonfigurować i uruchomić wiele projektów, patrz „Repository Layout” i „Planning Your Repository Organization” aby dowiedzieć się więcej o korzeniach projektów (project roots).