Poglavje 2. Basic Version-Control Concepts

Kazalo

Skladišče
Modeli nadzora različic
Težave souporabe datotek
Rešitev zakleni-spremeni-odkleni
Rešitev kopiraj-spremeni-spoji
Kaj naredi Subversion?
Subversion v akciji
Delovne kopije
Naslovi URL skladišča
Revizije
Kako delovne kopije spremljajo skladišče
Povzetek

To poglavje je rahlo spremenjena verzija istega poglavja v knjigi The Subversion book. Spletna različica knjige je na voljo na tem naslovu: http://svnbook.red-bean.com/.

To poglavje je kratek uvod v Subversion. Če se z nadzorom različic še niste srečali, potem je to poglavje za vas. Začnemo s splošnimi principi nadzora različic, pregledamo posebnosti sistema Subversion in na enostavnih primerih pogledamo, kako se Subversion uporablja.

Čeprav primeri v tem poglavju prikazujejo, kako si uporabniki delijo programsko izvorno kodo, upoštevajte, da lahko Subversion upravlja katerekoli datoteke - ni omejen samo na pomoč računalniškim programerjem.

Skladišče

Subversion je centraliziran sistem za souporabo informacij. Njegovo bistvo je skladišče, centralno mesto za shranjevanje podatkov. Skladišče shranjuje informacije v obliki drevesne strukture datotečnega sistema, kar je tipična hierarhija datotek in map. S skladiščem se lahko poveže poljubno število odjemalcev in bere ali zapisuje datoteke. S pisanjem podatkov da odjemalec te podatke na voljo drugim; z branjem podatkov odjemalec dobi infomacije od drugih.

Slika 2.1. Tipičen sistem odjemalec/strežnik

Tipičen sistem odjemalec/strežnik

Zakaj je to zanimivo? Po dosedanji razlagi izgleda to kot tipičen datotečni strežnik. In v resnici skladišče je neke vrste datotečni strežnik. Subversion je poseben zaradi dejstva, da si zapomni vsako spremembo, ki je bila kadarkoli zapisana: vsako spremembo vsake datoteke, pa tudi spremembe strukture map, n. pr. dodajanje, brisanje in preureditev datotek in map.

When a client reads data from the repository, it normally sees only the latest version of the filesystem tree. But the client also has the ability to view previous states of the filesystem. For example, a client can ask historical questions like, what did this directory contain last Wednesday? , or who was the last person to change this file, and what changes did they make? These are the sorts of questions that are at the heart of any version control system: systems that are designed to record and track changes to data over time.