Hoofdstuk 2. Laten we beginnen

Toegang tot de repository

In deze sectie, tonen we hoe u de basis functionaliteit van het versiecontrolsysteem Cervisia kunt gebruiken om modules uit checken uit de repository en er mee te werken. Om dat te kunnen doen moet u toegang hebben tot de repository als een client, wat betekent dat iemand (waarschijnlijk de beheerder van de CVS-repository) u een account op de servermachine heeft gegeven. Als alternatief kunt u zelf gemakkelijk een lokale repository voor uw eigen project aanmaken.

Tip

Als u van plan bent om een complex project te ontwikkelen, dan is het een goed idee om de CVS features te gebruiken, zelfs als u de enige ontwikkelaar bent. U kunt alle wijzigingen in de werkkopie maken en Cervisia gebruiken (of elk ander CVS hulpmiddel) om bij te werken en vast te leggen. Op deze manier, krijgt u de mogelijkheid om wijzigingen te volgen die bugs hebben veroorzaakt, wijzigingen terugdraaien, ongewild verlies van informatie vermijden, etc. Door Cervisia te gebruiken is het eenvoudig om een lokale repository aan te maken.

Procedure 2.1. Een lokale repository aanmaken

  1. Open de dialoog Nieuwe repository aanmaken (cvs init) door te kiezen RepositoryAanmaken....

  2. Druk op de knop ... om de map te selecteren waarin u de repository wilt aanmaken of voer zijn locatie in in het tekstvak. Als u bijvoorbeeld de repository in de map /home/gebruiker wilt plaatsen en het de naam cvsroot wilt geven, dan kunt u /home/user/cvsroot in het tekstvak invoeren of de map /home/user selecteren met de bestandkiezer en cvsroot toevoegen.

  3. Bevestig dit via de knop OK. Cervisia zal de nieuwe map voor de repository aanmaken en initialiseren.

  4. Nu kunt u uw huidige werk importeren in de repository of eenvoudig een map aanmaken in de repository om vanuit het niets een nieuwe module te beginnen.

Cervisia biedt een geïntegreerde front-end om al uw locaties met een repository te beheren, via de dialoog Toegang tot repositoryn instellen. Om deze weer te geven kies RepositoryRepositories....

Afbeelding 2.1. Een schermafdruk van de dialoog Toegang tot repositories van Cervisia

Een schermafdruk van de dialoog Toegang tot repositories van Cervisia

Er zijn verschillende methoden om toegang te krijgen tot een CVS-repository. Het kan worden bereikt via authemticatie met wachtwoord (:pserver:), secure shell (met :ext:), lokale repository (:local:), etc. Het format voor de locatie van de repository is (optionele items staan tussen rechte haakjes):

[:methode:][[gebruiker][:wachtwoord]@]hostnaam[:[poort]]/pad/naar/repository

Niet alle items (gebruiker, wachtwoord, hostnaam, poort) zijn altijd nodig voor toegang tot de repository. De vereiste informatie hangt af van de gebruikte toegangsmethode, die als volgt kan worden gecategoriseerd:

Lokaal

De lokale toegangsmethode is de standaard methode van de CVS. Het is daarom optioneel om de :local: methode toe te voegen aan de locatie van de repository: u kunt eenvoudig het pad naar de map met de CVS-repository invoeren en het is toegankelijk vanaf uw computer, zoals /pad/naar/repository of een voor beeld uit het echte leven te geven, /home/cvs.

Het kan fysiek op een schijf aanwezig zijn die is aangekoppeld via NFS, maar dat is een irrelevant detail. Als u een lokale repository hebt aangemaakt, dan is de locatie eenvoudig het pad ernaar.

rsh

De locatie van de repository ziet er dan zoiets als volgt uit: :ext:gebruikersnaam@host.url.org:/pad/naar/repository

Deze methode vereist dat u een gebruikersaccount hebt op de server (in dit geval host.url.org) en gebruikt een remote shell voor communicatie. Standaard gebruikt CVS hiervoor rsh, alhoewel rsh als onbetrouwbaar is bestempeld en vervangen is door ssh.

Indien u ssh wilt gebruiken, stelt u de omgevingsvariabele $CVS_RSH in op ssh. Dit is alleen nodig als u het cvs-commando gebruikt. Cervisia ondersteunt dit probleemloos.

Hou er rekening mee dat Cervisia geen mogelijke verzoeken voor een wachtwoord van de servermachine kan beantwoorden. U moet er zeker van zijn dat de remote login werkt zonder dat u iedere keer een wachtwoord moet invoeren. Met de "plain vanilla" rsh kan dit worden bereikt door bijvoorbeeld het bestand .rhosts in uw persoonlijke map aan te maken met een lijst van "vertrouwde servers" (in het engels "trusted hosts", zie de manpage van rsh)

Met ssh kan dit worden bereikt door het kopiëren van de publieke sleutel ($HOME/.ssh/identity.pub) naar de server. In dat geval moet de sleutel niet versleuteld worden met een wachtwoordzin, zie de ssh manpagina.

pserver

De naam van de repository ziet er dan als volgt uit: :pserver:gebruikersnaam@cvs.kde.org:/home/kde

Deze methode benadert de server met een speciaal protocol met een relatief zwakke authenticatie (pserver staat voor password authenticatie). Voordat u zo'n server kunt gebruiken, hebt u een gebruikersnaam en wachtwoord nodig, dat u gegeven is door de beheerder van de CVS-server, waarna u zich aan moet melden. Merk op dat uw gebruikersnaam en wachtwoord van CVS niet noodzakelijk die van het systeem zijn. Voordat u toegang krijgt tot de CVS-server moet u zich aanmelden.

Open-source projecten bieden typisch anonieme toegang via CVS tot broncode. Dit betekent dat u gemakkelijk de laatste broncode kan pakken, kan wijzigen en patches (differences) maken tegen de repository zonder om te vragen om toegang met een CVS account. Als algemene regel geldt dat anonieme CVS wachtwoord-authenticatie (:pserver:) gebruikt en een alleen-lezen repository is, waarin u uw wijzigingen niet direct kunt uploaden.

De toegangsmethode wetend en de locatie van de repository, kunt u het toevoegen aan de lijst met repositories van Cervisia:

Procedure 2.2. Een nieuwerepositorye toevoegen

  1. Open de dialoog Toegang tot repositories instellen door menu-item RepositoryRepositories... te kiezen.

  2. Druk op de knop Toevoegen... om de dialoog Repository toevoegen te openen.

  3. Voer de locatie van de repository in in het tekstvak Repository:. Cervisia zal automatisch de gebieden in de dialoog uitschakelen die niet relevant zijn voor de toegangsmethode die u hebt ingevoerd.

  4. Als u de ext-methode voor toegang tot de repository gebruikt, voer dan de remote shell in, die u wilt gebruiken (bijv. ssh), in het tekstvak Remote shell gebruiken (alleen voor :ext:-repositories):.

  5. Druk op OK. De repository, die u zojuist hebt toegevoegd aan de lijst met repositories, is dan te zien.

  6. Als de toegangsmethode tot de repository die u hebt ingevoerd is via wachtwoord-authenticatie (pserver), dan is het nodig u eerst aan te melden alvorens te verbinden met de server. Klik op de repository in de lijst om deze te selecteren en druk op de knop Aanmelden.... voer uw wachtwoord in in de opkomende dialoog.

    Als u met succes uw wachtwoord hebt ingevoerd, dan zal in de kolom Status van de pserver-repository deze wijzigen van Niet aangemeld naar Aangemeld.

  7. Druk op OK om uw wijzigingen toe te passen of voeg een andere locatie toe aan de lijst. Cervisia zal zoveel locaties als u wilt opslaan.