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.
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.
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).