Pierwsze pobranie kopii roboczej z repozytorium

Przez większość czasu, rozpoczęcie pracy z Subversion zaczniesz od pobrania kopii roboczej z repozytorium. Kopia robocza jest oznaczona jako HEAD - najnowsza wersja repozytorium podanego w opcjach polecenia svn checkout:

$ svn checkout http://svn.collab.net/repos/svn/trunk
A    trunk/Makefile.in
A    trunk/ac-helpers
A    trunk/ac-helpers/install.sh
A    trunk/ac-helpers/install-sh
A    trunk/build.conf
…
Checked out revision 8810.

Poprzedni przykład sprawdza repozytorium w folderze „trunk”, można całkowicie inny folder sprawdzić zmieniając go w adresie URL:

$ svn checkout \
      http://svn.collab.net/repos/svn/trunk/subversion/tests/cmdline/
A    cmdline/revert_tests.py 
A    cmdline/diff_tests.py
A    cmdline/autoprop_tests.py
A    cmdline/xmltests
A    cmdline/xmltests/svn-test.sh
…
Checked out revision 8810.

Ze względu na to, że Subversion używa metody kopiuj-modyfikuj-scal zamiast blokuj-modyfikuj-odblokuj (zobacz „Modele wprowadzania zmian”), możesz natychmiast zacząć wprowadzać zmiany do plików i katalogów. Kopia robocza jest jak każdy inny zbiór plików i katalogów w systemie. Możesz edytować i zmieniać, przenosić go, a także usunąć i zapomnieć o tym katalogu.

[Ostrzeżenie] Ostrzeżenie

Podczas gdy kopia robocza jest „jak każdy inny zbiór plików i katalogów w systemie” możesz edytować jak tylko zechcesz pliki zawarte w kopii roboczej, ale każde inne operacje muszą być przekazane do Subversion. Dla przykładu, jeśli zechcesz skopiować lub przenieść jakiś plik, powinieneś użyć polecenia svn copy lub svn move zamiast kopiować i przenosić za pomocą systemowych narzędzi. Więcej o tym zostanie powiedziane w dalszej części tego rozdziału.

O ile nie jesteś gotowy do dodania nowego pliku lub zmian wprowadzonych w już istniejących plikach, nie musisz przesyłać tych zmian do serwera Subversion.

Choć wystarczy wykonać checkout kopii roboczej z jednym parametrem (URL), można również określić katalog po adresie URL repozytorium. Spowoduje to, że kopia robocza trafi właśnie do tego nazwanego przez ciebie katalogu. Na przykład:

$  svn checkout http://svn.collab.net/repos/svn/trunk subv
A    subv/Makefile.in
A    subv/ac-helpers
A    subv/ac-helpers/install.sh
A    subv/ac-helpers/install-sh
A    subv/build.conf
…
Checked out revision 8810.

To umieści kopie roboczą w katalogu nazwanym subv zamiast trunk jak to wcześniej było wykonywane. Katalog subv zostanie utworzony, jeśli nie istnieje.

Wyłączenie zapamiętywania hasła

Podczas wykonywania operacji, która wymaga uwierzytelnienia, Subversion domyślnie próbuje zapisać hasło w formie zaszyfrowanej na dysku w celu jego późniejszego wykorzystania. W niektórych systemach, Subversion może nie być w stanie zaszyfrować hasło. Zostaniesz wtedy zapytany o to czy zapisać hasło w formie jawnego tekstu. Dla wygody można się zgodzić na taki stan rzeczy, dzięki czemu przy wykonywaniu następnych operacji nie będziesz pytany ponownie o hasło. Jeśli obawiasz się o to, że hasła są zapisywane w formie jawnego tekstu, możesz wyłączyć zapamiętywanie hasła w kliencie lub na serwerze.

Aby na stałe wyłączyć buforowanie haseł w jawnej formie (plaintext), możesz dodać linię store-plaintext-passwords = no w sekcji "global" w pliku servers na lokalnym komputerze. Aby wyłączyć zapamiętywanie hasła tylko dla konkretnego serwera, należy podobny wpis umieścić tylko w odpowiedniej grupie sekcji w pliku servers. Zobacz szczegóły „Configuration Options” i Rozdział 7, Customizing Your Subversion Experience.

Możesz również wyłączyć zapamiętywanie haseł, bez względu czy są zaszyfrowane czy w jawnym tekście zapisywane.

Aby całkowicie wyłączyć zapisywanie hasła w przypadku jednego wykonania polecenia, dodaj opcje --no-auth-cache do polecenia. To samo na stałe można osiągnąć poprzez dodanie do pliku konfiguracyjnego linijki store-passwords = no. Zobacz „Client Credentials Caching” po szczegóły.

Uwierzytelnianie jako inny użytkownik

Dzięki funkcji zapamiętywania danych uwierzytelniających, Subversion pamięta jaki użytkownik z jakim hasłem ostatnio wykonywał operacje na kopii roboczej. Czasami może to być utrudnieniem, szczególnie gdy kopia robocza jest używana przez kilku użytkowników. W takim przypadku do polecenia należy dodać opcję --username, a Subversion zaloguje się jako podany użytkownik po tej opcji, pytając o hasło jeśli będzie taka potrzeba.