Manuals

Rozdział 2. Podstawowe pojęcia kontroli wersji

Spis treści

Repozytorium
Modele wersjonowania
Problem ze współdzieleniem plików
Rozwiązanie blokada-modyfikacja-odblokowanie
Rozwiązanie kopia-modyfikacja-scalanie
Co robi Subversion?
Subversion w akcji
Kopie robocze
Adresy URL repozytorium
Wersje
Jak kopie robocze monitorują repozytorium
Podsumowanie

Ten rozdział to nieco zmieniona wersja takiego samego rozdziału w książce Subversion. Elektroniczna wersja książki Subversion dostępna jest tutaj: http://svnbook.red-bean.com/.

Ten rozdział jest krótkim, zdawkowym wprowadzeniem do Subversion. Jeśli jesteście świeży w kontroli wersji, rozdział ten jest zdecydowanie dla Was. Zaczniemy od omówienia ogólnej koncepcji kontroli wersji, rozpracujemy charakterystyczne idee kryjące się za Subversion i pokażemy kilka prostych przykładów z użycia systemu.

Choć przykłady w tym rozdziale pokazują ludzi współdzielących zbiory z kodem źródłowym programu, należy pamiętać, że Subversion może zarządzać jakąkolwiek kolekcją plików - narzędzie nie jest ograniczone do wspomagania programistów.

Repozytorium

Subversion to scentralizowany system wymiany informacji. U jego podstaw znajduje się repozytorium, które jest centralnym magazynem danych. Repozytorium przechowuje informacje w formie drzewa plików - typowej hierarchia plików i katalogów. Dowolna liczba klientów łączy się z repozytorium, a następnie odczytuje lub zapisuje te pliki. Zapisując dane, klient sprawia, że ​​informacje stają się dostępne dla innych; przez odczyt danych klient otrzymuje informacje od innych.

Rysunek 2.1. Typowy system klient/serwer

Typowy system klient/serwer

Więc dlaczego ma to być interesujące? Na razie brzmi to jak definicja typowego serwera plików. I rzeczywiście, repozytorium jest swego rodzaju serwerem plików, ale nie takim, z jakim się zwykle stykasz. Tym co sprawia, że ​​repozytorium SVN specjalne jest, że pamięta każdą zmianę, jaką kiedykolwiek w nim zapisano: każdą zmianę każdego pliku, a nawet zmiany w samym drzewie katalogów, takie jak dodanie, usunięcie i przegrupowanie plików i katalogów.

Gdy klient odczytuje dane z repozytorium, to zwykle widzi tylko ostatnią wersję drzewa katalogów. Ale klient ma również możliwość przeglądania poprzednich stanów systemu plików. Na przykład, klient może zadać historyczne pytania typu co zawierał ten katalog w ostatnią środę? lub kto był ostatnią osobą, zmieniającą ten plik, i jakie zmiany zrobił? . To są rodzaje pytań, które znajdują się w centrum każdego systemu kontroli wersji: tj systemu, który jest przeznaczony do rejestracji i śledzenia zmian danych w czasie.

TortoiseSVN homepage