Hoofdstuk 2. Basis Versie-Beheer Concepten

Inhoudsopgave

Het Archief
Versioneermodellen
Het Probleem van Bestand Delen
De Vergrendel-Wijzig-Ontgrendel Oplossing
De Kopieer-Wijzig-Samenvoeg Oplossing
Wat doet Subversion?
Subversion in Actie
Werkkopieën
Archief URLs
Revisies
Hoe Werkkopieën Het Archief Bijhouden
Samenvatting

Dit hoofdstuk is een iets gewijzigde versie van hetzelfde hoofdstuk uit het Subversion boek. Een online versie van het Subversion boek is beschikbaar op: http://svnbook.red-bean.com/.

Dit hoofdstuk is een korte en informele introductie in Subversion. Als je nieuw bent op gebied van versiebeheer, dan is dit hoofdstuk echt iets voor jou. We beginnen met een uiteenzetting over algemene versiebeheer concepten, verdiepen ons in de specifieke gedachten achter Subversion, en tonen een aantal simpele voorbeelden van toepassingen van Subversion.

Ook al gaan de voorbeelden in dit hoofdstuk over mensen die een verzameling programmabroncode delen, vergeet niet dat Subversion elke verzameling bestanden kan beheren - het is niet beperkt tot assisteren van computerprogrammeurs.

Het Archief

Subversion is een centraal systeem voor het delen van informatie. De kern is een archief, dat een centrale opslagruimte van data is. Het archief slaat informatie op in de vorm van een bestandssysteemboom - een typische hiëarchie van bestanden en mappen. Een ongelimiteerd aantal clients kan op het archief aansluiten en deze bestanden lezen of schrijven. Door data te schrijven maakt een client informatie beschikbaar voor anderen; door het lezen van data ontvangt de client informatie van anderen.

Afbeelding 2.1. Een typisch Client/Server Systeem

Een typisch Client/Server Systeem

Waarom is dit nu zo interessant? Tot zoverre lijkt dit op de definitie van een typische bestandsserver. En inderdaad is het archief een soort van bestandsserver, maar niet de normale soort. Wat het Subversion archief zo bijzonder maakt, is dat het elke wijziging onthoudt, die ooit weggeschreven is: elke wijziging in elk bestand en zelfs wijzigingen in de mappenstructuur, zoals toevoegen, verwijderen en herschikken van bestanden en mappen.

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.