# Manual del &cervisia;

## Introducció

El &cervisia; és un frontal fàcil d'emprar per al sistema de control de versions. Amb l'ànim d'implementar el &CVS; en una interfície unificada, amb resolució de conflictes, diferències i visors de l'historial, estat de les còpies de treball dels fitxers i implementació de la majoria de funcions del control de versions. El podeu obtenir construint el programa &cervisia; o instal·lant el paquet &cervisia; proporcionat per la vostra distribució.

Un sistema de control de versions és una eina per enregistrar, gestionar i distribuir diferents versions de fitxers. El &CVS; és un sistema de control de versions. Permet compartir senzillament les vostres modificacions, de manera que cadascun dels contribuïdors pot treballar amb la seva còpia local al mateix temps, sense por de sobreescriure les altres modificacions. Permet recuperar les versions passades (útil per fer el seguiment d'errors), la creació de branques (per desenvolupament experimental o per llançaments del codi) i més.

El repositori principal normalment conté un projecte col·laboratiu (comercial o no), però podeu aprofitar les característiques de control que ofereix el &CVS; fins i tot per a un projecte desenvolupat exclusivament per vós. És fàcil establir un repositori local, i obtenir la capacitat de rastrejar els canvis que causen els errors, desfer els canvis, evitar la pèrdua accidental de la informació, &etc;

El repositori conté els fitxers del projecte, i cada contribuïdor manté la seva pròpia còpia local, anomenada còpia de treball o entorn de proves; podeu afegir les vostres modificacions al repositori principal (un procés anomenat publicació) i/o actualitzar la còpia pròpia per a reflectir els canvis recents fets pels altres contribuïdors.

## Com començar

### Accedint al repositori

En aquesta secció, us mostrarem com utilitzar les funcionalitats bàsiques del sistema de control de versions utilitzant el &cervisia; per obtenir els mòduls des del repositori i treballar amb ells. Per a fer-ho, heu de tenir accés al repositori com a client, entenent que algú (probablement l'administrador del repositori &CVS;) us ha donat un compte a la màquina del servidor. Alternativament, podeu crear amb facilitat un repositori local pel vostre propi projecte.

Si esteu planejant desenvolupar un projecte complex, és una bona idea utilitzar les característiques del &CVS;, encara que sigueu l'únic desenvolupador. Podeu fer tots els canvis en la còpia de treball, i utilitzar el &cervisia; (o una altra eina de &CVS;) per actualitzar i publicar. D'aquesta manera, guanyareu la capacitat de seguir els canvis que causen errors, revertir-los, prevenir la pèrdua accidental de la informació, &etc; Utilitzant el &cervisia; és fàcil crear un repositori local.

#### Creació d'un repositori local

1. Obriu el diàleg Crea un repositori nou (cvs init) seleccionant Repositori Crea....

2. Premeu el botó ... per a seleccionar la carpeta a on voleu crear el repositori, o bé introduïu la seva ubicació en el quadre de text. Per exemple, si voleu emplaçar el repositori a la carpeta `/home/usuari`, i anomenar-lo `cvsroot`, hauríeu d'escriure `/home/usuari/cvsroot` en el quadre de text, o bé seleccionar la carpeta `/home/usuari` utilitzant el diàleg de selecció de fitxers i afegir `cvsroot`.

3. Confirmeu-ho prement el botó D'acord. El &cervisia; crearà i inicialitzarà la nova carpeta del repositori.

4. Ara podreu importar el vostre treball actual al repositori, o simplement crear una carpeta en el repositori per a començar un nou mòdul des de zero.

El &cervisia; ofereix un frontal integrat per a gestionar totes les ubicacions dels vostres repositoris, el diàleg Configura l'accés als repositoris. Per a mostrar-lo, seleccioneu l'element Repositori Repositoris... del menú.

#### Una captura de pantalla del diàleg Configura l'accés als repositoris amb el &cervisia;

Una captura de pantalla del diàleg Configura l'accés als repositoris amb el &cervisia;

Hi ha diferents mètodes per accedir a un repositori de &CVS;. A través d'una autenticació per contrasenya (:pserver:), intèrpret d'ordres segur (emprant :ext:), repositori local (:local:), &etc; El format per al repositori local és (els elements opcionals apareixen entre claudàtors):

`[:mètode:][[usuari][:contrasenya]@]nom_de_la_màquina[:[port]]/camí/al/repositori`

No sempre són necessaris tots aquests elements (usuari, contrasenya, nom de la màquina, port) per accedir al repositori. La informació necessària dependrà del mètode d'accés emprat, el qual es pot categoritzar com segueix:

Local

- El mètode d'accés local és el mètode predeterminat emprat pel &CVS;. Per tant, és opcional afegir el mètode :local: a la ubicació del repositori: simplement podeu introduir el camí cap a la carpeta que emmagatzema el repositori de &CVS;, i és accessible des del vostre ordinador, com ara `/camí/al/repositori` o per donar un exemple real, `/home/cvs`.

  Pot estar físicament en un disc que està muntat via NFS, però aquest és un detall irrellevant. Si heu creat un repositori local, la ubicació serà senzillament el camí cap a ell.

↱

- La ubicació del repositori és quelcom semblant a `:ext:nom_usuari@màquina.url.org:/camí/al/repositori`.

  Aquest mètode requereix que tingueu un compte d'usuari a la màquina del servidor (en aquest exemple, `màquina.url.org`) i utilitzar un intèrpret d'ordres remot per a la comunicació. Per omissió, el &CVS; utilitza el ↱ per a fer-ho; no obstant això, el ↱ s'ha considerat insegur durant molt de temps i normalment és substituït pel &ssh;.

  Si voleu utilitzar el &ssh;, haureu d'establir la variable d'entorn $`CVS_RSH` al &ssh; en utilitzar el client de `cvs`, el &cervisia; ho implementa de manera senzilla.

  Tingueu en compte que el &cervisia; no pot respondre a les possibles peticions de contrasenya de la màquina del servidor. Us heu d'assegurar que l'inici de sessió remot funciona sense que hàgiu d'introduir una contrasenya. Amb el ↱ vanilla pla, això es pot aconseguir, per exemple, creant un fitxer anomenat `.rhosts` a la vostra carpeta personal amb una llista de les màquines autenticades (vegeu la pàgina man del ↱).

  Amb el &ssh;, es pot aconseguir copiant la vostra clau pública ubicada al fitxer `identity.pub`, ubicat a la carpeta `$`HOME`/.ssh/` del servidor. En aquest cas, la clau no haurà d'estar encriptada amb una frase de pas, vegeu la pàgina man del &ssh;.

pserver

- La ubicació del repositori s'ha de veure com `:pserver:nom_usuari@màquina.url.org:/camí/al/repositori`

  Aquest mètode accedeix al servidor mitjançant un protocol especial amb una autenticació relativament feble (`pserver` per a l'autenticació de la contrasenya). Abans de poder utilitzar aquest servidor, necessiteu un nom d'usuari i la contrasenya donada per l'administrador del servidor del &CVS;, i heu d'iniciar la sessió. Tingueu en compte que el vostre nom d'usuari d'autenticació de la contrasenya del &CVS; no ha de coincidir necessàriament amb el nom d'usuari del sistema. Abans d'accedir al servidor del &CVS;, necessitareu iniciar la sessió.

  El projectes de codi obert normalment ofereixen accés anònim al &CVS; del seu codi font. Això significa que podeu obtenir amb facilitat el darrer codi font, modificar-lo i crear pedaços (diferències) contra el repositori sense que se us demani un compte de &CVS;. Com a regla general, el &CVS; anònim utilitza autenticació per contrasenya (:pserver:) i és un repositori de només lectura, no permetent-vos pujar els vostres canvis directament.

Coneixent el mètode d'accés i la ubicació del repositori, podeu afegir-lo a la llista de repositoris del &cervisia;:

### Afegir un repositori nou

1. Obriu el diàleg Configura l'accés als repositoris seleccionant l'element Repositori Repositoris... del menú.

2. Premeu el botó Afegeix... per obrir el diàleg Afegeix un repositori.

3. Introduïu la ubicació del repositori en el quadre de text Repositori:. El &cervisia; desactivarà automàticament les àrees del diàleg que no són pertinents per al mètode d'accés que heu introduït.

4. Si esteu utilitzant el mètode «ext» per accedir al repositori, introduïu l'intèrpret d'ordres remot que voleu utilitzar (&pex; &ssh;) en el quadre de text Usa l'intèrpret d'ordres remot (només per a repositoris :ext:):.

5. Premeu D'acord. Veureu el repositori que acabeu d'introduir a la llista de repositoris.

6. Si el mètode d'accés al repositori que acabeu d'introduir és autenticació per contrasenya (pserver), necessitareu iniciar la sessió abans de connectar-vos al servidor. Feu clic al repositori en la llista per a seleccionar-lo i premeu el botó Accedeix.... Introduïu la vostra contrasenya en el diàleg que aparegui.

   Si heu introduït correctament la vostra contrasenya, l'entrada de la columna Estat del repositori «pserver» canviarà de No s'ha accedit al compte a S'ha accedit al compte.

7. Premeu D'acord per aplicar les modificacions o afegiu una altra ubicació a la llista. El &cervisia; emmagatzemarà tantes ubicacions com vulgueu.

### Importació d'un mòdul al repositori

En aquesta secció, analitzarem com posar un projecte nou al repositori de &CVS;. Si només voleu treballar amb el projecte existent que ja es troba en un repositori, podeu saltar-vos aquesta secció.

Hi ha dues maneres de posar un projecte al &CVS;:

- Importar els fitxers i les carpetes a un nou mòdul, utilitzant el diàleg d'importació del &cervisia;. Els mòduls són les carpetes superiors a l'arbre de carpetes del repositori de &CVS; i s'utilitzen per a separar i organitzar els diferents projectes de programari dintre del repositori.

- Crear un mòdul buit i afegir nous fitxers i carpetes manualment. Tindreu més control, però probablement trigareu una mica més de temps.

Tingueu en compte que el &CVS; fou dissenyat inicialment per a gestionar fitxers de text. Moltes característiques, com ara el fusionat de les revisions, la creació de les diferències de forma que siguin llegibles, &etc; només són efectuades en els fitxers de text. Això no vol dir que no pugueu utilitzar el &CVS; per a mantenir fitxers binaris, senzillament significa que heu d'especificar explícitament al &CVS; si és un fitxer de text o un fitxer binari. Si declareu un tipus de fitxer erroni, tindreu problemes amb la funcionalitat del &CVS; per a aquests fitxers i es podrien corrompre.

La importació d'un projecte (com un mòdul nou) té alguns avantatges: importareu tots els fitxers i carpetes recursivament, i el mòdul es crearà automàticament. Això simplifica la importació de grans projectes existents en el repositori. No obstant això, hi ha alguns desavantatges: no es pot utilitzar el diàleg d'importació del &cervisia; per afegir fitxers als mòduls existents, i podeu importar els fitxers tant de text com binaris. Podeu solucionar aquesta limitació mitjançant la creació d'una carpeta amb els fitxers de només un dels tipus, o informar dels patrons dels fitxers que s'hauran d'ignorar en el procés d'importació.

Per exemple, suposant que el vostre projecte només contingui fitxers de text i algunes imatges PNG (fitxers binaris). Podeu dir-li al &CVS; que ignori tots els fitxers que continguin el patró `*.png` mentre importa els altres fitxers com a text, o podeu moure les imatges a una carpeta separada i després importar els fitxers restants (com a fitxers de text). De qualsevol manera haureu de fer un checkout del mòdul importat recentment a una còpia de treball nova i copiar-ne els fitxers i carpetes restants, afegir i publicar al repositori per a completar el procés d'importació.

Alternativament, podeu afegir els fitxers i les carpetes manualment, creant un mòdul buit. Per afegir un mòdul buit a un repositori, simplement heu de crear una carpeta nova a la carpeta arrel del repositori de &CVS;. El nom d'aquesta carpeta serà el nom del mòdul. Feu un checkout del nou mòdul buit. Després copieu els fitxers i carpetes a la còpia de treball, feu afegeix i publica per a pujar-ho tot al repositori de &CVS;.

#### Una captura de pantalla del diàleg d'importació del &cervisia;

Una captura de pantalla del diàleg d'importació del &cervisia;

A la screenshot-import podeu veure el diàleg que us ajudarà a importar un projecte com a un mòdul. Per accedir al diàleg d'importació del &cervisia;, escolliu l'element Repositori Importa... del menú.

Repositori: co-repository

- Introduïu o seleccioneu des de la llista desplegable el nom del repositori de &CVS;, també conegut com a $`CVSROOT`. Haureu de tenir accés d'escriptura per accedir-hi i el repositori haurà d'estar adequadament inicialitzat. Si el repositori encara no existeix, podeu crear-ne un seleccionant l'element Repositori Crea... del menú.

  La llista desplegable mostra una llista dels repositoris que heu introduït prèviament utilitzant el diàleg Configura l'accés als repositoris. Si el repositori és remot, assegureu-vos que l'autenticació funciona. Vegeu accessing-repository per a més informació.

Mòdul: co-module

- El nom del mòdul sota el qual serà emmagatzemat el projecte. Després d'importar-lo, el projecte es podrà obtenir sota aquest nom. Vegeu checkingout per a més informació. Aquest també és el nom de la carpeta corresponent en el repositori.

Carpeta de treball:

- La carpeta de nivell superior del projecte que voleu importar. La importació comença a partir d'aquesta carpeta i baixa recursivament.

Etiqueta del distribuïdor: co-vendortag

- L'etiqueta del distribuïdor s'ha emprat històricament pel seguiment del codi font de tercers. Només haureu d'utilitzar el vostre nom d'usuari si no teniu cap idea millor. El que introduïu aquí no importa massa.

Etiqueta de llançament: co-releasetag

- Aquesta etiqueta també s'ha emprat històricament per a importar diferents versions del programari de tercers. Si no ho esteu fent, utilitzeu la paraula `start` o una cadena `FOO_1.0` on `FOO` és el nom del projecte, i `1.0` és el número de la versió del llançament importat.

Ignora els fitxers:

- Si empleneu aquest camp, es donarà una opció addicional `-I `noms_de_fitxer`` a l'ordre `cvs import`. Aquesta entrada serà interpretada com una llista de patrons de noms de fitxer separats per un espai que seran ignorats. En general una forma més neta i menys propensa a errors per a controlar quins fitxers van al repositori, és crear una carpeta amb només els fitxers que voleu importar i començar des d'aquesta carpeta. No obstant això, aquesta entrada pot ser útil si el projecte conté fitxers que són ignorats per defecte pel &CVS;, &pex; fitxers amb el nom `core`, en aquest cas, simplement introduïu el caràcter `!` en aquest camp: això redefineix l'esquema original dels fitxers ignorats pel &CVS;, vegeu ignoredfiles.

Comentari: co-comment

- Utilitzeu aquest camp per enregistrar els comentaris que pugueu tenir sobre l'origen, ús, desenvolupament, &etc; dels fitxers que esteu important.

Importa com a binaris

- Si marqueu aquesta casella, tots els fitxers s'importaran en el mode binari, &ead; es donarà un argument `-kb` al `cvs import`.

Usa la data de modificació del fitxer com a data d'importació

- Si marqueu aquesta casella, la data de la importació serà la de modificació del fitxer en lloc de la data d'importació.

Una vegada hàgiu emplenat aquest formulari i ho hàgiu confirmat prement D'acord, s'utilitzarà la següent ordre de &CVS;:

    cvs -d repositori import -m "" mòdul etiqueta_distribuïdor etiqueta_llançament

### Obtenció d'un mòdul del repositori

Ara que heu definit amb èxit la ubicació del vostre repositori, i importat els fitxers inicials al repositori, és el moment de recuperar el mòdul del repositori de &CVS;, creant la vostra còpia de treball.

També heu de conèixer el nom de la branca o etiqueta que voleu utilitzar.

Les branques d'un mòdul són versions paral·leles d'aquest mòdul. Un bon exemple real de la utilització d'aquesta característica és el llançament d'un projecte de programari. Després d'un llançament important, hi ha errors en el codi que s'han d'arranjar, però la gent també vol afegir noves característiques. És molt difícil fer les dues coses alhora, perquè les noves característiques generalment introdueixen errors nous, cosa que dificulta localitzar els antics. Per a resoldre aquest dilema, el &CVS; permet crear una versió paral·lela, que anomenarem la branca de la versió estable, on només es poden afegir correccions d'errors, deixant la branca de llançament principal (HEAD) oberta per afegir noves característiques.

Les etiquetes s'utilitzen per a marcar una versió d'un projecte. El &CVS; marca una versió de cada fitxer amb l'etiqueta, així que quan obtingueu o actualitzeu a una etiqueta específica, s'obtindran sempre les mateixes versions dels fitxers. Per tant, en oposició a les branques, les etiquetes no són dinàmiques: no és possible desenvolupar una etiqueta. Les etiquetes són útils per a marcar productes nous, grans canvis en el codi, &etc; Utilitzant etiquetes, podeu tornar amb facilitat el projecte a un estat anterior, per a reproduir i seguir els errors, generar el codi de llançament de nou, &etc;.

#### Una captura de pantalla del diàleg de recuperació del &cervisia;

Una captura de pantalla del diàleg de recuperació del &cervisia;

Repositori:

- El nom del repositori de &CVS;, també conegut com a ``$CVSROOT``. La llista desplegable mostra una llista dels repositoris que heu introduït prèviament utilitzant el diàleg Configura l'accés als repositoris. Si el repositori és remot, assegureu-vos que l'autenticació funciona. Vegeu accessing-repository per a més informació.

Mòdul:

- El nom del mòdul a obtenir. Si esteu treballant amb un d'existent en el repositori, probablement podeu aconseguir aquest nom de l'administrador del sistema, o bé, si és un repositori de codi font obert, podeu obtenir els noms dels mòduls de les pàgines web del projecte. Si voleu crear un nou mòdul a partir de zero amb un repositori local, n'hi ha prou amb crear una carpeta nova a la carpeta arrel del repositori local. El nom de la carpeta serà el mateix que el nom del mòdul buit.

  Alternativament, si el repositori té un fitxer ``$CVSROOT`/modules`, podeu obtenir una llista dels mòduls disponibles prement el botó Obtén la llista.

  Tingueu present que és possible obtenir una subcarpeta existent del mòdul, sense recuperar la resta del mòdul. Simplement introduïu el camí cap a la subcarpeta.

Etiqueta de la branca:

- El nom de la branca o etiqueta que voleu obtenir. Si deixeu aquest camp en blanc, el &cervisia; obtindrà la branca principal (HEAD).

Carpeta de treball:

- La carpeta sota la qual s'ha d'obtenir el mòdul. Tingueu present que la carpeta del nivell superior de la còpia de treball és anomenada després del mòdul que esteu obtenint, fins que doneu un nom alternatiu en el camp Obtén com a:.

Obtén com a:

- De resultes d'això, els fitxers de la còpia de treball seran obtinguts en una carpeta alternativa sota la carpeta de treball en lloc d'una carpeta anomenada després del mòdul.

Només exporta

- Si marqueu aquesta casella, els fitxers s'exportaran en lloc d'obtenir-los. En exportar-los s'obté una còpia del codi al mòdul de &CVS; sense les carpetes administratives. Per exemple, l'exportació es pot utilitzar per a preparar el codi font per a un llançament.

Obtén en mode recursiu

- Obtén tots els fitxers i carpetes recursivament.

### La pantalla principal, visualització de l'estat dels fitxers i actualització

En iniciar el &cervisia;, i obrir una còpia de treball seleccionant Fitxer Obre un entorn de proves... , podeu veure dues àrees principals a la finestra principal del &cervisia;, la superior és una vista jerarquitzada (arbre) de la còpia de treball actual; la inferior s'utilitza per a mostrar les ordres de &CVS; que el &cervisia; emet per a realitzar les seves taques, així com la sortida generada per aquestes ordres.

Per omissió, el &cervisia; no mostra els fitxers que contenen les subcarpetes, per tant heu de fer clic a les carpetes que voleu veure. Per a mostrar tots els fitxers de la còpia de treball, seleccioneu Visualitza Desplega l'arbre de fitxers . Per tornar a tancar totes les carpetes de la còpia de treball, escolliu Visualitza Plega l'arbre de fitxers .

D'acord amb els ajustaments als vostres fitxers `.cvsignore`, els fitxers que normalment no voleu incloure en el repositori -com ara els fitxers d'objecte- no seran mostrats a la vista en arbre. A cada fila, podeu veure el seu estat corresponent. A l'ajustament per omissió, després d'obrir l'entorn de proves, l'estat és «Desconegut» perquè el &cervisia; retarda l'obtenció de la informació fins que seleccioneu els fitxers i les carpetes l'estat dels quals voleu actualitzar o veure i escolliu Fitxer Actualitza o Fitxer Estat . Amb aquest enfocament, teniu una quantitat mínima de funcionalitat disponible fins i tot si no teniu una connexió permanent amb el servidor de &CVS;.

#### Una captura de pantalla de la vista principal del &cervisia;

Una captura de pantalla de la vista principal del &cervisia;

Les ordres del menú Fitxer normalment només actuen sobre els fitxers que heu marcat. També podeu marcar carpetes. Ara escolliu Fitxer Estat o premeu F5. El &cervisia; emetrà una ordre

    cvs update -n noms_de_fitxer

per obtenir la informació de l'estat pels fitxers marcats. Tingueu present que el &cervisia; va recursivament dintre de les subcarpetes només si heu establert l'opció corresponent en el menú Arranjament. Ara podreu veure una entrada a la columna Estat d'acord amb l'estat respectiu dels fitxers:

Modificat localment

- Vol dir que heu modificat el fitxer comparat amb la versió en el repositori.

Afegit localment

- Vol dir que el fitxer no existeix en el repositori, però es troba a la còpia de treball i heu programat que s'afegeixi. La inserció real dins del repositori només succeeix després d'una publicació.

Eliminat localment

- Vol dir que heu programat el fitxer per a suprimir-lo, però encara existeix al repositori. La supressió real només succeeix després d'una publicació.

Necessita actualitzar-se

- Es mostra si existeix una versió més recent del fitxer al repositori, &pex; perquè algú ha publicat una modificació. Normalment, voldreu actualitzar aquest fitxer per tenir una versió al dia a la vostra carpeta.

Necessita apedaçar-se

- Essencialment és el mateix d'abans; la diferència amb una actualització, el servidor de &CVS; només transfereix un pedaç en lloc del fitxer sencer.

Necessita fusionar-se

- Indica que és necessària una fusió de la revisió d'aquest fitxer a la vostra còpia de treball amb la versió al repositori. Això succeeix normalment si heu fet modificacions al fitxer mentre algú ha publicat les seves modificacions. Si escolliu actualitzar, les modificacions al repositori es fusionaran al vostre fitxer. En cas de conflicte (&ead; si algú ha canviat algunes de les mateixes línies que vós) llavors el nou estat serà «Conflicte».

Última versió

- Indica que el fitxer és idèntic amb la versió al repositori.

Conflicte

- Es mostra si el fitxer encara té marcadors de conflicte. Potser heu actualitzat prèviament el fitxer i no s'han resolt els conflictes.

No és al CVS

- Indica que el fitxer no està registrat al repositori de &CVS;. Si voleu que estigui disponible pels altres, haureu d'afegir-lo al repositori, Si no, considereu d'afegir-lo al vostre fitxer `.cvsignore`.

Ara que heu obtingut un resum sobre l'estat actual del &CVS;, potser voleu fer una actualització. Marqueu alguns fitxers (o l'arrel de l'arbre de carpetes, el qual equival a marcar tots els fitxers en aquesta carpeta). Ara escolliu Fitxer Actualitza (per descomptat, podríeu haver seleccionat això a l'inici de la sessió). Ara podreu canviar l'estat d'alguns dels fitxers. Normalment, els fitxers que tenen «Necessita apedaçar-se» o «Necessita actualitzar-se» s'actualitzen. Per tant són possibles els següents elements nous a la columna d'estat:

Actualitzat

- Mostra si el fitxer ha estat actualitzat des del repositori.

Apedaçat

- Indica que el servidor de &CVS; ha enviat un pedaç per a aquest fitxer i el pedaç s'ha aplicat satisfactòriament. Si l'apedaçat no ha estat possible perquè hi ha un conflicte entre les vostres modificacions i les que algú ha publicat al repositori, ara l'estat és Conflicte.

Podríeu haver notat que, segons l'estat del fitxer de la fila, aquesta té un color diferent. Els colors són seleccionats per a reflectir d'alguna manera la prioritat de l'estat. Per exemple, un fitxer amb un conflicte està marcat en vermell per indicar heu de resoldre un conflicte abans que pugueu seguir treballant amb el fitxer. No obstant això, si la carpeta té un gran nombre de fitxers podeu perdre la vista general. Per obtenir informació més concreta quant a quins fitxers tenen un estat inusual, simplement feu clic a la capçalera de la columna Estat. La llista de fitxers s'ordenarà per prioritat, d'aquesta manera tindreu tota la informació important a l'inici de la llista. Per tornar a la vista ordenada alfabèticament, feu clic a la capçalera de la columna Nom de fitxer.

## Treballant amb fitxers

Totes les funcions emprades habitualment amb el &CVS; estan disponibles directament a la vista principal del &cervisia;. Les ordres actuen normalment sobre diversos fitxers alhora, és a dir, tots els que estan seleccionats. Si la selecció inclou carpetes, la seva interpretació dependrà dels ajustaments fets sota el menú Arranjament. Per exemple, si està marcat Arranjament Commit i Remove recursivament i escolliu Fitxer Publica... mentre hi ha seleccionada una carpeta, tots els fitxers en l'arbre sota aquesta carpeta seran publicats. Altrament, només els fitxers normals de la mateixa carpeta es veuran afectats.

### Una captura de pantalla del menú contextual del &cervisia;

Les accions més emprades també estan disponibles fent clic dret als fitxers a la vista en arbre, a través del menú contextual. La screenshot-popup mostra el menú contextual de la finestra principal del &cervisia;.

Podeu editar simplement un fitxer fent-hi doble clic o seleccionant-lo i prement &Intro;. Això inicia l'aplicació per omissió que gestiona aquest tipus de fitxer (l'aplicació predeterminada per a un tipus de fitxer és un ajustament per a tot el &kde;), si l'aplicació per omissió no és la que voleu utilitzar, podeu fer clic dret al fitxer i escollir Edita amb al submenú, i seleccionar una de les altres aplicacions que gestionen aquest tipus de fitxer.

### Afegint fitxers

Afegir fitxers a un projecte requereix dos passos: primer, els fitxers han d'estar registrats amb el &CVS;, o en altres paraules, afegir-los al repositori. Això és necessari però no n'hi ha prou. Per a posar-los al repositori, haureu de publicar-los. Aquest procediment té un avantatge important: podeu publicar els fitxers juntament amb les modificacions a altres parts del projecte. En fer això veureu amb facilitat (&pex; en correus de la publicació) que tots aquests canvis formen part d'una totalitat.

Amb aquesta finalitat, marqueu tots els fitxers per afegir-los a la vista principal del &cervisia;. A continuació escolliu Fitxer Afegeix al repositori..., o feu clic dret als fitxers marcats i seleccioneu Afegeix al repositori.... Apareixerà el diàleg Afegeix al CVS, llistant els fitxers que heu marcat, i demanant-vos confirmació. Premeu D'acord per a confirmar.

El &cervisia; emetrà una ordre

    cvs add noms_de_fitxer

Si l'operació ha estat satisfactòria, la columna d'estat ha de tenir «Publicat, afegit» pels fitxers afegits.

El &CVS; no està dissenyat per a dotar d'un control de revisions significatiu pels fitxers binaris. Per exemple, normalment no té sentit fusionar fitxers binaris. A més, per omissió, el &CVS; realitza una expansió de les paraules clau (&pex; a la cadena `$Revisió: 1.6 $`) quan un fitxer es publica en fitxers binaris, aquestes substitucions poden corrompre el fitxer i fer-lo completament inusable.

Per tal de desactivar el comportament anterior, podeu publicar fitxers binaris (o altres fitxers, com ara imatges Postscript o PNG) escollint Fitxer Afegeix un binari.... Apareixerà el diàleg Afegeix al CVS, llistant els fitxers binaris que heu marcat i us demanarà confirmació. Premeu D'acord per a confirmar.

El &cervisia; emetrà una ordre

    cvs add -kb noms_de_fitxer

### Eliminant fitxers

De la mateixa manera que en afegir fitxers, l'eliminació dels fitxers es fa en dos passos. Primer, s'han de registrar els fitxers com a eliminats escollint Fitxer Elimina del repositori... o bé fent clic dret als fitxers marcats i escollint Elimina del repositori... des del menú contextual. Apareixerà el diàleg Elimina del CVS llistant els fitxers que heu marcat i se us demanarà confirmació. Premeu D'acord i el &cervisia; emetrà l'ordre

    cvs remove -f noms_de_fitxer

Després d'això, s'haurà de publicar aquesta modificació a l'entorn de proves, possiblement amb altres modificacions al projecte.

L'ordre anterior només funciona si el fitxer està al dia. Altrament, obtindreu un missatge d'error. Aquest comportament és sensat: si heu modificat el fitxer en comparació amb la versió al repositori, o algú ha fet alguna modificació, voldreu comprovar primer si realment voleu descartar-lo.

### Afegint o eliminant carpetes

Les carpetes són gestionades fonamentalment de forma diferent als fitxers normals pel &CVS;. No són sota el control de revisions, &ead; no podeu dir quines carpetes existien en el projecte en una data determinada. A més, les carpetes no es poden esborrar mai explícitament (a excepció d'eliminar-les directament en el repositori).

Com a alternativa, el &CVS; segueix la convenció que una carpeta «no existeix» en la versió del projecte si és buida. Aquesta convenció pot forçar-se utilitzant l'opció `-P` al `cvs update` i `cvs checkout`. Aquesta opció es pot establir en el menú Arranjament Elimina les carpetes buides en actualitzar.

Es pot afegir una carpeta al repositori escollint Fitxer Afegeix al repositori... o fent clic dret a les carpetes marcades i escollint Afegeix al repositori... des del menú contextual. Tingueu present que contràriament a afegir fitxers, afegir carpetes no requereix una publicació posterior. El &cervisia; emetrà l'ordre

    cvs add nom_del_directori

### Publicant fitxers

Quan hàgiu fet un cert nombre de canvis a la còpia de treball, i vulgueu que altres desenvolupadors en tinguin accés, els publicareu. Amb una publicació, emplaceu les vostres versions dels fitxers modificats com a una nova revisió al repositori. Una actualització posterior d'un altre desenvolupador li servirà les vostres modificacions a la seva còpia de treball.

Per tal de publicar un conjunt de fitxers, seleccioneu-los a la vista principal del &cervisia; i escolliu Fitxer Publica... o feu clic dret als fitxers marcats i escolliu Publica... des del menú contextual.

#### Una captura de pantalla del diàleg de publicació del &cervisia;

Obtindreu un diàleg que mostrarà una llista dels fitxers seleccionats a la secció superior i un registre de missatges pels canvis a sota. El &cervisia; ajuda de diverses formes per a trobar un missatge concret: primer, a la llista de fitxers podeu fer doble clic a un fitxer o prémer Retorn per tal de veure els canvis que heu fet en el fitxer. Segon, us donarà una llista dels missatges de registre que heu utilitzat prèviament en un quadre combinat. Tercer, aquest diàleg s'integrarà amb l'editor del registre de canvis del &cervisia; descrit a continuació. En finalitzar el diàleg, s'utilitzarà l'ordre

    cvs commit -m missatge noms_de_fitxer

.

Un error habitual que podeu trobar en publicar és Ha fallat la comprovació de l'última versió. Això indica que algú ha publicat canvis en el repositori des de la vostra darrera actualització: o, més tècnicament, que la vostra revisió `BASE` no és la més nova d'aquesta branca. En aquest cas, el &CVS; rebutjarà fusionar les vostres modificacions en el repositori. La solució és actualitzar, resoldre qualsevol conflicte i tornar a publicar. Per descomptat, si esteu treballant en un projecte de programari, és un bon costum comprovar si el programa encara funciona després que heu actualitzat -després de tot, hi poden haver interaccions negatives entre les vostres modificacions i les altres modificacions que poden malmetre el codi-.

Un altre error habitual resulta en el missatge d'error L'etiqueta «X» pel fitxer «X» no és una branca. Això succeeix si intenteu publicar un fitxer que heu portat prèviament a una certa revisió o etiquetat amb l'ordre

    %cvs update -r X

(que s'utilitza per, &pex; per a l'element Avançat Actualitza a etiqueta/data... del menú). En aquest cas, l'etiqueta del fitxer queda adherida, &ead; actualitzacions posteriors no us portaran la revisió més nova a la branca. Si voleu publicar revisions posteriors a la branca, haureu d'actualitzar a l'etiqueta de la branca abans de fer futures publicacions.

Amb el &cervisia; és molt fàcil de mantenir un fitxer de registre dels canvis que sigui compatible amb l'establert a les línies mestres de programació de &GNU;. Per utilitzar-lo, escolliu Fitxer Insereix una entrada al registre de canvis.... Si existeix un fitxer amb el nom `ChangeLog` al nivell superior del vostre entorn de proves, aquest fitxer serà carregat i tindreu la possibilitat d'editar-lo. Amb aquesta finalitat, a la part superior del fitxer, s'insereix una entrada amb la data actual i el vostre nom d'usuari (que es pot configurar com es descriu a customize-general). Quan acabeu podreu tancar el diàleg fent clic a D'acord, el pròxim diàleg de publicació que obriu tindrà el missatge de registre establert al darrer missatge que heu introduït al registre de canvis.

### Resolució de conflictes

Es poden produir conflictes cada vegada que feu canvis a un fitxer que també ha estat modificat per un altre desenvolupador. El conflicte és detectat pel &CVS; en actualitzar el fitxer modificat: llavors, el &CVS; intentarà fusionar les modificacions publicades per un altre desenvolupador a la vostra còpia de treball. La fusió falla si ambdues, les vostres modificacions i les seves modificacions se superposen en parts del fitxer, i el servidor de &CVS; emetrà un missatge d'error.

A la vista principal del &cervisia;, s'indiquen els fitxers amb conflictes amb «Conflicte» a la columna d'estat i amb el color vermell. Ara és feina vostra resoldre aquests conflictes abans de publicar el fitxer. El &CVS; rebutjarà publicar qualsevol fitxer amb conflictes fins que s'hagi editat. Per descomptat podeu resoldre conflictes des de la vista principal de la manera tradicional: simplement feu doble clic al fitxer en qüestió i editeu-lo amb el vostre editor favorit.

El &CVS; marca els canvis conflictius emplaçant marques en mig dels fitxers, de la següent manera:

    <<<<<<<
    Canvis a la vostra còpia de treball
    =======
    Canvis al repositori
    >>>>>>> número_de_revisió

Heu de substituir aquest bloc sencer amb la nova versió fusionada. Per descomptat, teniu una gran llibertat per a resoldre una sèrie de conflictes: per a cada conflicte podeu decidir adoptar una de les dues versions alternatives. També podeu decidir que tots dos enfocaments estan trencats i tornar a escriure una rutina completa o el fitxer complet des de zero.

Afortunadament, el &cervisia; ofereix una interfície més agradable per a gestionar aquests conflictes. Això no significa que no necessitareu mai editar manualment els fitxers, però almenys podeu eliminar la necessitat de fer-ho per a resoldre conflictes trivials. Per utilitzar el diàleg Resolució CVS del &cervisia; escolliu Fitxer Resoldre... o feu clic dret al fitxer marcat i escolliu Resoldre... des del menú contextual.

#### Una captura de pantalla del diàleg de resolució del &cervisia;

Una captura de pantalla del diàleg de resolució del &cervisia;

A la part superior del diàleg, podeu veure La vostra versió (A) del fitxer a mà esquerra i la versió en el repositori l'altra versió (B) a mà dreta. Les diferències entre ells estan marcades en color vermell. Sota d'aquestes dues columnes, podeu veure la Versió fusionada. La versió fusionada reflecteix quina d'aquestes seccions serà a la vostra còpia de treball si premeu el botó Desa.

Podeu anar enrere i endavant entre les seccions amb conflictes prement << i >>. a la part inferior central del diàleg podeu veure quina secció està marcada actualment. Per exemple, `2 de 3` vol dir que actualment esteu a la segona secció amb diferències d'un total de 3.

Ara podeu decidir secció per secció quina versió voleu tenir en el fitxer fusionat. Prement A tindreu la versió que heu editat. Prement B tindreu la versió del repositori. Prement A+B, s'afegiran ambdues versions, i la vostra versió vindrà primer. B+A obté el mateix resultat, però l'ordre serà diferent: primer la versió del repositori, després la vostra.

Si no esteu content amb cap d'aquestes versions, premeu Edita per obrir un editor de text simple on podreu editar la secció. En acabar l'edició, premeu D'acord per tornar al diàleg Resolució CVS i acabar de resoldre els conflictes. Podeu veure la secció que acabeu d'editar a la Versió fusionada, amb les vostres modificacions.

Per a desar les modificacions, sobreescrivint la versió de la còpia de treball, premeu Desa. Tingueu present que això desarà les eleccions no només de la selecció que esteu veient actualment, sinó de totes les versions en el fitxer. Si voleu desar-los en un altre fitxer, premeu Desa com a.... Premeu Tanca per a tancar el diàleg. Si tanqueu el diàleg sense desar, es perdran els canvis que heu fet.

## Obtenint informació quant als fitxers i la creació de pedaços

### Observant les diferències entre revisions

Hi ha diversos llocs en el &cervisia; on podeu demanar una finestra mostrant les diferències entre les revisions d'un fitxer:

- En la vista principal, podeu seleccionar Visualitza Diferències amb el repositori (BASE).... Això està basat en l'ordre `cvs diff` i us mostra les diferències entre la versió al vostre entorn de proves i la darrera versió a la que heu actualitzat (també coneguda com a `BASE`). Això és particularment útil tot just després de publicar un fitxer, ja que podeu trobar un missatge de registre apropiat.

- Podeu veure les diferències entre la versió en el vostre entorn de proves i la branca de desenvolupament principal (també anomenada `HEAD`) seleccionant Visualitza Diferències amb el repositori (HEAD)....

- Podeu veure les diferències entre les dues darreres revisions del fitxer seleccionat triant Visualitza Últims canvis....

- Podeu accedir als elements del menú Diferències amb el repositori (BASE)..., Diferències amb el repositori (HEAD)... i Últims canvis... des del menú contextual de la vista principal, dretaclicant el fitxer que voleu visualitzar.

- En el diàleg que es mostra quan publiqueu un conjunt de fitxers, podeu sol·licitar una finestra de diferències seleccionant un nom de fitxer en la llista de selecció, sigui dobleclicant-hi o prement Retorn. Això és molt similar a usar Visualitza Diferències amb el repositori (BASE)... amb el fitxer respectiu en la vista principal.

- En el diàleg de navegació dels registres, podeu marcar dues revisions d'un fitxer i sol·licitar un diàleg mostrant-ne les diferències (vegeu browsinglogs).

Tal com podeu haver esperat, el &cervisia; no simplement bolca la sortida de l'ordre `diff` en el vostre terminal, sinó que mostra una vista gràfica com es veu en screenshot-log.

#### Una captura de pantalla del diàleg de diferències del &cervisia;

Una captura de pantalla del diàleg de diferències del &cervisia;

El text del diàleg és una variant millorada del text donat per l'ordre diff amb l'opció `-u`. Podeu veure les diferents versions en dues finestres, amb línies arranjades de manera que podeu fer una comparació costat a costat. Això vol dir que, on s'ha afegit o suprimit text, les respectives finestres mostren línies buides amb el marcador `+++++` a mà esquerra. Per a tot el fitxer podeu veure el número d'execució de cada línia en la columna de l'esquerra.

En la segona columna de la dreta de la finestra, podeu veure quin tipus de canvi s'ha fet. Els tipus possibles són `Afegeix`, `Elimina` i `canvia`. Les línies respectives són marcades en blau, verd i vermell. En el centre del diàleg es mostra una imatge comprimida dels colors dels marcadors. D'aquesta manera, podeu tenir una vista general ràpida de tots els canvis al fitxer. També podeu usar les posicions de les regions acolorides en la imatge comprimida com una orientació en usar les barres de desplaçament.

Normalment, les barres de desplaçament a l'esquerra i la dreta de la finestra estan sincronitzades, &ead; si desplaceu a mà esquerra, la dreta és desplaçada en la mateixa quantitat. Podeu canviar això marcant la casella Sincronitza les barres de desplaçament.

Per informació quant a com personalitzar el diàleg de diferències, vegeu customize-diff.

### Creació de pedaços

De vegades voldreu oferir les vostres modificacions per revisar-les, abans de publicar-les, o no teniu accés al repositori (i per tant no podeu publicar). &CVS; ofereix formats estàndards per compartir les modificacions en la vostra còpia de treball, de manera que altres puguin revisar els canvis, provar-los en la seva còpia i aplicar-los al repositori &CVS;. Un fitxer contenint aquestes diferències s'anomena pedaç, i normalment és generat per l'ordre `cvs diff`, de la mateixa manera que les diferències en diff. Compartir pedaços en lloc de grups de fitxers requereix menys amplada de banda, i els pedaços són més fàcils de gestionar, ja que podeu enviar només un fitxer de pedaç contenint totes les diferències de molts fitxers de codi font.

El &cervisia; us dóna accés a aquesta característica seleccionant Avançat Crea pedaç contra el repositori....

L'acció Crea pedaç contra el repositori... crea un pedaç amb totes les modificacions en tots els fitxers de la vostra còpia de treball (entorn de proves) contra el repositori `BASE`. La selecció de fitxers en la vista principal no afecta el pedaç que serà generat.

Una altra possibilitat és seleccionar un fitxer en la vista principal i seleccionar Navega pel registre... del menú Visualitza o dretaclicar el fitxer marcat i seleccionar Navega pel registre... del menú contextual, per tal d'obrir el Diàleg de navegació del registre. Ara seleccioneu la versió contra la que voleu crear un pedaç, com a revisió A i premeu el botó Crea un pedaç.... Això generarà un pedaç amb les diferències entre el fitxer marcat en la vostra còpia de treball i la versió seleccionada com a revisió A.

Abans de generar el pedaç, el &cervisia; mostra un diàleg permetent-vos configurar el format de sortida.

#### Una captura de pantalla del diàleg de pedaços del &cervisia;

Una captura de pantalla del diàleg de pedaços del &cervisia;

Format de sortida

- Hi ha disponibles tres formats de sortida:

  Normal:un format que es pot usar per fer que l'editor faci automàticament una altra còpia de l'antic fitxer que casi amb el nou fitxer. En el format normal de sortida, els caràcters < i > marquen els canvis i no hi ha informació de context.

  Unificat: el més usat per intercanviar pedaços. El format unificat usa línies de context en addició als números de línia per enregistrar les diferències. Això fa més robust el procés d'aplicar pedaços. Aquest format mostra les diferències en un format compacte i llegible, amb una capçalera per cada fitxer involucrat, i seccions separades (blocs) per cada diferència. Les línies de context disponibles per cada diferència fa més llegibles les modificacions. En el format de sortida unificat, els caràcters + i - marquen els canvis.

  Context, que presenta la mateixa informació que el format unificat, però d'una manera menys compacta. En el format de sortida amb context, el caràcter «!» marca els canvis.

Nombre de línies de context:

- Establiu aquí el nombre de línies de context pels formats de sortida unificat o context. Aquesta opció no és disponible pel format de sortida normal, ja que en aquest format no s'enregistra informació de context. Més informació de context fa més fàcil llegir la sortida sense processar, i més precís d'aplicar el pedaç, però incrementa la mida del pedaç. Està recomanat usar almenys dues línies de context per una operació d'apedaçat adequada.

Opcions per ignorar

- Marqueu aquí els canvis que no s'han de considerar com a diferències en generar el pedaç.

Després d'establir el format de sortida, el &cervisia; genera el pedaç i mostra el diàleg Desa com a. Introduïu el nom de fitxer i la ubicació del fitxer de pedaç en aquest diàleg.

### Visualitzant una vista anotada d'un fitxer

Amb l'ordre `cvs annotate`, &CVS; ofereix la possibilitat de veure - per cada línia d'un fitxer - qui ha modificat la línia més recentment. Aquesta vista pot ser útil per tal de trobar qui ha introduït un canvi en el comportament d'un programa o a qui se li ha de preguntar quant a algun canvi o errada en el codi.

El &cervisia; us dóna accés a aquesta característica, però més endavant enriqueix la informació de forma interactiva. Podeu obtenir una vista anotada seleccionant Visualitza Anotacions.... Una altra possibilitat és prémer el botó Anotacions en el diàleg de navegació del registre, on podeu seleccionar quina versió del fitxer voleu visualitzar. Podeu veure una captura de pantalla del diàleg en screenshot-annotate.

#### Una captura de pantalla del diàleg d'anotacions del &cervisia;

Una captura de pantalla del diàleg d'anotacions del &cervisia;

En el diàleg d'anotacions, podeu veure en una finestra la darrera versió del fitxer seleccionat (o la revisió versió A, en el cas que hàgiu llançat el diàleg d'anotacions des del diàleg navega registre). En les columnes anteriors al text, podeu obtenir alguna informació relacionada als darrers canvis en cada línia. En la primera columna es mostra el número de línia. En la segona columna podeu veure el nom de l'autor i el número de revisió. Finalment, en la tercera columna podeu veure el contingut real d'aquesta línia.

En conseqüència, quan una certa línia us sembli estranya o penseu que hi ha una errada, podeu veure immediatament qui és el responsable d'aquesta línia. Però no només això, també podeu trobar perquè s'ha canviat aquesta línia. Per acabar, situeu el cursor del ratolí sobre el respectiu número de revisió. Apareixerà un consell emergent mostrant el missatge de registre i la data del canvi.

### Navegant pels registres del &CVS;

En marcar un fitxer en la vista principal i seleccionar Navega pel registre... del menú Visualitza o dretaclicant el fitxer marcat i seleccionant Navega pel registre... del menú contextual, es mostrarà el diàleg Registre de CVS (si marqueu més d'un, no passarà res, ja que el &cervisia; només pot generar i analitzar el registre per un fitxer alhora). Aquest diàleg ofereix la funcionalitat de veure l'historial del fitxer. Usant-lo com un navegador de versió podeu:

- Veure la revisió, autor, data, branca, missatge de publicació, i etiquetes per cada versió del fitxer marcat.

- Veure una representació gràfica en arbre mostrant l'embrancament i l'etiquetatge del fitxer marcat.

- Veure qualsevol versió del fitxer marcat (amb l'aplicació per omissió).

- Veure una vista anotada de qualsevol versió del fitxer marcat

- Veure les diferències entre qualsevol parell de versions del fitxer marcat, incloent-hi parelles amb la còpia de treball actual del fitxer marcat.

- Crear pedaços contenint les diferències entre qualsevol parell de versions del fitxer marcat, incloent-hi parelles amb la còpia de treball actual del fitxer marcat.

#### Una captura de pantalla del diàleg de navegació de registres del &cervisia;

Una captura de pantalla del diàleg de navegació de registres del &cervisia;

Podeu seleccionar veure la història proporcionada per l'ordre `cvs log` (Sortida CVS ), com un Arbre o en forma de Llista. El que preferiu és una qüestió de gustos i depèn de la informació en la que esteu interessat. L'arbre és una representació intuïtiva del que s'ha fet en diverses branques i per quins autors. Podeu veure els corresponents missatges de registre com a consells emergents. La llista és per la seva naturalesa, lineal i per tant, no ofereix una vista immediata de les branques, per altra banda, concentra més informació relevant en menys estat de pantalla, anomenant la data de cava canvi del fitxer i la primera part del missatge de registre. La informació de la sortida &CVS; és completa però extensa, i difícil de llegir. Per alleugerir aquests problemes, teniu l'habilitat de cercar el text de la sortida &CVS;, prement el botó Cerca....

Per obtenir més informació quant a una certa revisió, podeu clicar tant en la llista com en la vista en arbre. Els camps del centre del diàleg s'emplenen amb la informació completa proporcionada per `cvs log`. Podeu marcar dues revisions, anomenades A i B, que és pertinent si feu ús de les següents característiques proporcionades pels botons. La revisió A es pot seleccionar amb el &BER;, la revisió B amb el botó central. En la vista de llista, també podeu navegar amb les tecles del cursor. Per tal de marcar dues revisions A i B, utilitzeu les dreceres &Ctrl;A, &Ctrl;B, respectivament. Utilitzant la vista Sortida del CVS , podeu clicar en Selecció per a la revisió A i Selecció per a la revisió B per a marcar les revisions.

Si premeu el botó Anotacions, obtindreu un diàleg mostrant el text del fitxer corresponent a la revisió marcada com A. Cada línia està prefixada amb informació quant a qui l'ha editat per darrera vegada, i en quina revisió ha succeït això. Podeu obtenir més informació quant a visualitzar versions anotades en annotate.

Si premeu el botó Diff, s'emetrà una crida a l'ordre `cvs diff` i obtindreu un diàleg on es mostraran totes les modificacions entre les dues revisions marcades. Si marqueu una revisió A, però no una revisió B, el &cervisia; generarà les modificacions entre la versió del fitxer marcat com a revisió A, i la versió de la còpia de treball del fitxer. Això permet veure les diferències entre la vostra versió del fitxer i qualsevol versió disponible en el &CVS;. Per a fer més fàcil de veure els canvis, s'utilitzen diferents colors per a marcar les línies que s'han afegit, eliminat o simplement canviat. Podeu obtenir més informació quant a veure les diferències en diff.

Si premeu el botó Crea un pedaç..., obtindreu un diàleg el que podreu establir les opcions de format per generar un fitxer contenint totes les modificacions entre les dues reversions marcades que es mostren. Si marqueu una revisió A, però no una revisió B, el &cervisia; generarà les modificacions entre la versió marcada del fitxer com a revisió A, i la versió del fitxer de la còpia de treball. Això permet generar un pedaç, o fitxer de diferències, entre la vostra versió del fitxer i qualsevol versió disponible en &CVS;. Després de configurar el format del pedaç en el diàleg, i prement D'acord, s'emet una ordre `cvs diff` per a generar el fitxer de diferències. S'obrirà un diàleg Desa com a. Introduïu el nom de fitxer i la ubicació del fitxer de pedaç que ha generat el &cervisia; per tal de desar-lo. Podeu obtenir més informació quant a la creació de pedaços, i les opcions de format dels pedaços en creatingpatches.

Si premeu el botó Visualitza, el &cervisia; recuperarà la revisió marcada com A i la mostrarà utilitzant l'aplicació per omissió per a aquest tipus de fitxer.

Premeu el botó Tanca per abandonar el diàleg i tornar a la vista principal.

Per generar el registre que és la base pel diàleg Registre de CVS, el &cervisia; emet la següent ordre:

    cvs log nom_de_fitxer

### Navegant per l'historial

Si el repositori emprat té activat el registre, el &cervisia; pot presentar-vos un historial de certs esdeveniments com ara recuperacions, publicacions, etiquetatges, actualitzacions i llançaments. Seleccioneu Historial des del menú Visualitza, i el &cervisia; emetrà l'ordre

    cvs history -e -a

Això recupera el registre complet del servidor, &ead; una llista dels esdeveniments per tots els usuaris i tots els mòduls. Això pot ser una enorme quantitat de dades.

Ara podeu veure la llista d'esdeveniments, ordenats per la data, en la segona columna es mostra el tipus d'esdeveniment:

- Obtenció - l'usuari que es mostra en la columna «Autor» ha proporcionat un mòdul

- Etiqueta - un usuari ha usat l'ordre `cvs rtag`. Noteu que l'ús de `cvs tag` (tal com fa l'ordre del &cervisia; Avançat Etiqueta/branca...) no s'enregistra en la base de dades de l'historial. Això té motius històrics (vegeu les PMF de &CVS;).

- Llançament - un usuari ha alliberat un mòdul. Realment, aquesta ordre s'usa rarament i no té gaire valor.

- Actualització, eliminat - un usuari a fet una actualització en un fitxer que s'ha esborrat en el repositori. Com a conseqüència, el fitxer que va ser eliminat està en la seva còpia de treball.

- Actualització, copiat - un usuari ha fet una actualització en un fitxer. S'ha copiat una nova versió en la seva còpia de treball.

- Actualització, fusionat - un usuari ha fet una actualització en un fitxer. Les modificacions en la versió del repositori del fitxer s'han fusionat en la seva còpia de treball.

- Actualització, conflicte - un usuari ha fet una actualització en un fitxer, i s'ha detectat un conflicte amb les seves pròpies modificacions.

- Publicat, modificat - un usuari ha publicat un fitxer modificat.

- Publicat, afegit - un usuari ha afegit un fitxer i l'ha publicat.

- Publicat, eliminat - un usuari ha publicat l'eliminació d'un fitxer.

#### Una captura de pantalla del diàleg d'historial del &cervisia;

Una captura de pantalla del diàleg d'historial del &cervisia;

Podeu ordenar la llista amb un altre criteri simplement clicant en la seva respectiva capçalera de columna. Per ordenar les entrades de l'historial en les que esteu interessat hi ha diverses opcions de filtre que s'activen amb caselles de selecció:

- Mostra els esdeveniments de publicació - mostra les publicacions

- Mostra els esdeveniments d'obtenció - mostra les obtencions

- Mostra els esdeveniments d'etiquetatge - mostra els etiquetatges

- Mostra els altres esdeveniments - mostra els esdeveniments que no estan inclosos amunt

- Només l'usuari - Només mostra els esdeveniments causats per un cert usuari

- Només els noms de fitxer que coincideixin - filtra els noms de fitxer amb una expressió regular

- Només les carpetes que coincideixin - filtra els noms de carpeta amb una expressió regular

Els caràcters especials reconeguts pel cercador d'expressions regulars són:

- `x*` coincideix amb qualsevol nombre d'ocurrències del caràcter `x`.

- `x+` coincideix amb una o més ocurrències del caràcter `x`.

- `x?` coincideix amb zero o una ocurrència del caràcter `x`.

- `^` coincideix amb l'inici de la cadena.

- `$` coincideix amb el final de la cadena.

- `[a-cx-z]` coincideix amb un conjunt de caràcters, &pex; aquí el conjunt consisteix de a,b,c,x,y,z.

## Ús avançat

### Actualitzant a una etiqueta, branca o data

Les branques d'un mòdul són versions paral·leles d'aquest mòdul. Un bon exemple real de la utilització d'aquesta característica és el llançament d'un projecte de programari. Després d'un llançament important, hi ha errors en el codi que han de ser arranjats, però la gent també vol afegir noves característiques. És molt difícil fer les dues coses alhora, perquè les noves característiques generalment introdueixen nous errors, cosa que dificulta localitzar els antics. Per resoldre aquest dilema, &CVS; us permet crear una versió paral·lela, que anomenarem la branca de la versió estable, on només es poden afegir correccions d'errors, deixant la branca de llançament principal (HEAD) oberta per afegir noves característiques.

Les etiquetes s'usen per marcar una versió d'un projecte. &CVS; marca una versió de cada fitxer amb l'etiqueta, de manera que quan vulgueu obtenir o actualitzar a una etiqueta específica, sempre obtingueu la mateixa versió dels fitxers: per tant, en oposició a les branques, les etiquetes no són dinàmiques: no podeu desenvolupar una etiqueta. Les etiquetes són útils per marcar llançaments, grans canvis en el codi, &etc;

Quan esteu desenvolupant o seguint el desenvolupament d'un projecte de programari, no heu de treballar necessàriament amb la branca principal tot el temps. Després d'un llançament, potser voldreu mantenir-vos amb la branca llançada durant un temps, per gaudir de la seva relativa estabilitat, arranjar errors, traduir les fonts, &etc;. Per fer tot això, heu d'actualitzar la branca llançada. Tots els vostres fitxers s'actualitzaran a les darreres versions dels fitxers en aquesta branca. Després d'actualitzar, totes les vostres noves publicacions també es pujaran a la nova branca.

Si voleu seguir un error que fou reportat contra el passat llançament etiquetat, &CVS; també ofereix la possibilitat de recuperar el programari tal com fou llançat, actualitzant a aquesta etiqueta. Per altra banda, si voleu obtenir una versió passada del vostre projecte, podeu actualitzar la vostra còpia de treball a una data específica. Això pot ser útil si s'ha introduït un error en el projecte entre dos llançaments, i teniu una idea de quan va ser. En actualitzar a una data o etiqueta, les versions dels vostres fitxers seran les mateixes a les versions en la data específica o les versions marcades amb aquesta etiqueta.

Abans d'actualitzar a una branca o etiqueta diferent, assegureu-vos que heu publicat tots els vostres canvis a la branca amb la que esteu treballant. Si no esteu preparat per publicar els vostres canvis, però no voleu descartar-los, no actualitzeu a la nova branca, ja que perdríeu els vostres canvis. Com a alternativa, podeu fer una nova obtenció, per treballar en paral·lel amb ambdues versions.

#### Una captura de pantalla del diàleg actualitza a l'etiqueta del &cervisia;

Una captura de pantalla del diàleg actualitza a l'etiqueta del &cervisia;

Actualitza a la branca

- Seleccioneu aquesta opció per actualitzar a una branca. Introduïu el nom de la branca en el quadre de text desplegable (o premeu el botó Obtén llista per recuperar la llista de branques del servidor &CVS;, i seleccioneu la que vulgueu en la llista desplegable).

Actualitza a l'etiqueta

- Seleccioneu aquesta opció per actualitzar a una etiqueta. Introduïu el nom de la branca en el quadre de text desplegable (o premeu el botó Obtén llista per recuperar la llista d'etiquetes del servidor &CVS;, i seleccioneu la que vulgueu en la llista desplegable).

Actualitza a la data

- Seleccioneu aquesta opció si voleu actualitzar a una data. En el camp inferior, podeu introduir una ampla varietat de formats de data. Un format possible és `aaaa-mm-dd` on `aaaa` és l'any, `mm` és el mes (numero) i `dd` és el dia. Les alternatives són algunes frases en anglès com ara `yesterday` o `2 weeks ago`.

Actualitzar a una etiqueta o data fa que sigui etiquetat, &ead; no podreu publicar futures modificacions d'aquests fitxers (tret que l'etiqueta sigui una etiqueta de branca). Per tal de tornar enrere a la branca principal, useu l'element del menú Avançat Actualitza a HEAD.

L'ordre emesa per actualitzar a una branca o etiqueta és:

    cvs update -r etiqueta

L'ordre emesa per actualitzar a una data és:

    cvs update -D data

L'ordre emesa per actualitzar a la branca principal (HEAD) és:

    cvs update -A

### Etiquetatge i branques

Aquí només analitzarem els aspectes tècnics de l'etiquetatge i de les branques. Si només sou un usuari i no l'administrador del repositori, segurament no us trobareu amb el problema. No obstant això, si sou el vostre propi administrador, hauríeu de llegir primer quant als problemes no tècnics que acompanyen a les branques, per tal d'obtenir una impressió de quant de temps es consumeix i de com pot ser mantenir i netejar d'errors les diferents branques. L'apèndix inclou algunes referències quant a aquest tema.

L'etiquetatge simple és una cosa que fareu normalment quan feu un llançament. d'aquesta manera podreu tornar fàcilment quan vulgueu enrere a l'estat del projecte en aquesta data. Les etiquetes normalment consisteixen en el nom del projecte i el número de versió. Per exemple el &cervisia; 1.0 està disponible sota l'etiqueta `CERVISIA_1_0`. El &cervisia; força les regles estrictes del &CVS; quant a la constitució de noms vàlids d'etiquetes. Han de començar amb una lletra i poden contenir lletres, dígits, guions i guions baixos.

Normalment, voldreu etiquetar el projecte sencer (encara que, per descomptat, &CVS; permet etiquetar només un subconjunt). Amb aquesta finalitat, marqueu la carpeta de nivell superior en la vista i seleccioneu Avançat Etiqueta/branca. Ara, introduïu el nom de l'etiqueta, premeu Retorn i haureu enllestit.

La creació d'una branca no és significativament més difícil: en el diàleg d'etiquetatge marqueu la casella Crea branca amb aquesta etiqueta. També podeu esborrar una etiqueta existent: seleccioneu Avançat Elimina etiqueta en la vista principal.

Un altre aspecte de les branques és la fusió de modificacions des d'una banca a la branca actual. Si esteu fent això, seleccioneu Avançat Fusiona.... El diàleg que apareixerà us donarà dues opcions:

Podeu fusionar totes les modificacions realitzades en una branca a la branca actual, en aquest cas, marqueu la casella Fusiona des de branca i emplenar la branca des de la que voleu fusionar. El &cervisia; executarà l'ordre

    cvs update -j etiqueta_branca

Una altra possibilitat és que vulgueu fusionar només les modificacions fetes entre dues etiquetes d'una branca. Això normalment succeeix en fusionar des de la mateixa branca al tronc diverses vegades. En aquest cas, marqueu la casella Fusiona les modificacions i introduïu (en l'ordre correcte) les dues etiquetes apropiades. Això resulta en una ordre

    cvs update -j etiqueta_branca1 -j etiqueta_branca2

### Usant els vigilants

Un vigilant és el nom convencional d'una característica de &CVS; per notificar als usuaris del repositori si un fitxer ha canviat o un desenvolupador ha iniciat l'edició d'un fitxer. L'ús dels vigilants requereix que s'hagi arranjat correctament el fitxer ``$CVSROOT`/CVSROOT/notify`. Això no s'explica aquí; si necessiteu més informació quant a l'arranjament des del punt de vista de l'administrador, llegiu un dels llibres llistats en l'apèndix.

El suport principal dels vigilants del &cervisia; són sis elements del menú.

Per tal d'afegir un vigilant a un o diversos fitxers, useu Avançat Afegeix vigilant.... En el diàleg que obtindreu, podreu seleccionar ser notificat per qualsevol dels tipus d'esdeveniments que &CVS; accepta. Per exemple, si només voleu ser notificat quan un fitxer és publicat, marqueu les caselles Només i Publicacions. Si voleu ser notificat de qualsevol esdeveniment relacionat amb els fitxers marcats, marqueu la casella Tot. La línia d'ordres usada en acceptar el diàleg és

    cvs watch add -a commit noms_dels_fitxers

o amb una opció similar, depenent dels esdeveniments que trieu per observar.

SI ja no esteu interessat en alguns fitxers, podeu suprimir els vigilants sobre ells. Amb aquesta finalitat, useu Avançat Elimina vigilant.... En el diàleg que obtindreu aquí, s'oferiran les mateixes opcions que en el formulari que heu emplenat en afegir el vigilant. Quan confirmeu aquest diàleg, el &cervisia;emet l'ordre

    cvs watch remove noms_dels_fitxers

possiblement amb una opció `-a` pels esdeveniments seleccionats.

Finalment, podeu obtenir una llista de les persones que estan vigilant un conjunt de fitxers. Seleccioneu Avançat Mostra els vigilants. Usar aquest element del menú resulta en una ordre

    cvs watchers noms_dels_fitxers

En l'escenari normal d'ús de &CVS; cada desenvolupador treballa per separat al seu entorn de proves obtingut. Quan vol modificar algun fitxer, simplement l'obre en l'editor i comença a treballar en ell. Ningú té coneixement quant a aquest treball fins que es publica el fitxer.

Per alguns grups de desenvolupadors, aquest no és el model preferit de cooperació. Volen estar notificats de quan algú està treballant en un fitxer tan aviat comença. Això es pot aconseguir amb algunes de les següents ordres &CVS; Abans de començar a editar un fitxer, seleccioneu-lo en la finestra principal del &cervisia; i seleccioneu Avançat Edita fitxers. Això executarà l'ordre

    cvs edit noms_dels_fitxers

Això enviarà una notificació a qualsevol que hagi establert un vigilant `edició` en aquest fitxer. També us registrarà com a editor del fitxer. Podeu obtenir una llista de tots els editors d'un cert fitxer usant Avançat Mostra els editors. Això és equivalent a escriure en la línia d'ordres

    cvs editors noms_dels_fitxers

Una sessió d'edició finalitza automàticament en publicar el fitxer afectat. En aquest moment s'envia una notificació `deseditat` a totes les persones que hagin registrat un vigilant respectiu en el fitxer. Per descomptat, algunes vegades no voldreu publicar el fitxer, però voldreu cancel·lar la sessió d'edició del fitxer i revertir-lo a la versió anterior. Això es fa usant Avançat Desfés l'edició de fitxers. Noteu que el &cervisia; no us demanarà confirmació; això vol dir que si useu aquest element del menú, tot el treball fet des que vàreu usar Avançat Edita fitxers es perdrà. Més exactament, el &cervisia; usa la línia d'ordres

    echo y | cvs unedit noms_dels_fitxers

Fins ara, només hem parlat dels casos en els que els editats i els deseditats s'usen voluntàriament pels desenvolupadors. En addició &CVS; implementa un model que força l'ús d'aquestes ordres. L'ordre responsable de commutar a aquest model és `cvs watch on` que no explicarem més detalladament perquè s'usa majorment per l'administrador del repositori. No obstant això el punt important des del punt de vista del desenvolupador és que quan el projecte força els editats, les còpies de treball s'obtenen com només de lectura. Això significa que no podeu editar un fitxer per omissió (tret que useu trucs com ara `chmod`). El fitxer es torna d'escriptura només en usar Avançat Edita fitxers. Es torna de només lectura una altra vegada en publicar-lo o usar Avançat Desfés l'edició de fitxers.

La interfície de l'editor del &cervisia; també us ajuda amb projectes que forcen els vigilants d'una altra manera. Si acabeu d'iniciar un editor amb un fitxer de només lectura dobleclicant-lo o usant Fitxer Edita, no podreu desar les modificacions. Això per descomptat, té una raó: sempre que vulgueu canviar un fitxer, haureu d'executar abans `cvs edit`, perquè totes les persones que estan vigilant el fitxer obtinguin una notificació que esteu treballant en ell.

En aquest cas, és recomanable marcar l'opció Arranjament Fes el cvs edit automàticament quan sigui necessari. Ara, cada vegada que editeu un fitxer fent-hi doble clic, el &cervisia; executarà `cvs edit` abans d'executar l'editor. D'aquesta manera podeu editar el vostre fitxer de la forma habitual. En finalitzar el vostre treball, publiqueu els fitxers, i els fitxers publicats seran de només lectura de nou.

### Bloqueig

El model de desenvolupament seguit habitualment quan s'usa &CVS; s'anomena obtencions sense reserves. Cada desenvolupador té el seu propi entorn de proves on podrà editar els fitxers com vulgui. I quan s'utilitzen les característiques de supervisió com ara `cvs edit`. múltiples desenvolupadors poden treball en els fitxers sincronitzadament. Els canvis efectuats per un desenvolupador diferent són fusionats a l'entorn de proves en realitzar una actualització.

Altres sistemes de control de revisions - com ara RCS i SourceSafe usen un model diferent. Quan un desenvolupador vol editar un fitxer, l'ha de bloquejar. Només pot bloquejar un fitxer un editor alhora. Quan ha acabat l'edició, s'allibera el bloqueig. D'una banda, amb aquest model, no poden aparèixer conflictes mai. Per altra banda, dos desenvolupadors no poden treballar alhora en el mateix fitxer, encara que els seus canvis no afectin a ningú més. Això pot ser un coll d'ampolla. No parlarem dels beneficis d'organització d'ambdós enfocaments. No obstant això, mencionarem que, encara que &CVS; té algunes funcions per bloquejar, no és la manera preferida de treballar amb &CVS;. No heu d'usar aquestes característiques llevat que estigueu segur que l'encarregat del vostre projecte ho permet.

Amb el &cervisia;, bloquejareu els fitxers de la següent manera. Seleccioneu els fitxers desitjats en la vista principal. Després seleccioneu Avançat Bloqueja els fitxers. Això executa l'ordre

    cvs admin -l noms_dels_fitxers

L'efecte contrari s'aconsegueix usant Avançat Desbloqueja els fitxers. Això executa l'ordre

    cvs admin -u noms_dels_fitxers

## Personalitzant el &cervisia;

El &cervisia; es pot personalitzar de diverses maneres d'acord amb les vostres necessitats i preferències. Algunes opcions que podeu voler canviar regularment estan disponibles directament en el menú Arranjament.

### General

Nom d'usuari per a l'editor del registre de canvis:

- Sempre que useu l'element del menú Fitxer Insereix entrada en el registre de canvis..., es generarà una nova entrada en el registre de canvis amb la data actual i el vostre nom d'usuari. Normalment, es considera un nou estil inserir el vostre nom complet i la vostra adreça de correu electrònic en cada entrada del registre de canvis. El &cervisia; afegeix automàticament el nom sencer i l'adreça de correu electrònic introduïts aquí.

Camí cap a l'executable CVS, o «cvs»:

- Aquí podeu establir el nom (o camí) a la línia d'ordres del client `cvs`. Per omissió, el &cervisia; utilitza l'executable &CVS; trobat a la vostra `$PATH`.

### Visor de diferències

Nombre de línies de context al diàleg diff:

- Pel diàleg de diferències, el &cervisia; usa l'opció `-U` per `diff`. Això permet que `diff` només mostri un nombre de línies limitat al voltant de cada regió (línies de context). Aquí podeu establir l'argument per `-U`.

Opcions addicionals per al cvs diff:

- Aquí podeu afegir arguments addicionals per a `diff`. Un exemple popular és `-b` que permet que `diff` ignori els canvis en la quantitat d'espai en blanc.

Amplada de la pestanya al diàleg de diff:

- En el diàleg de diferències, els caràcters tabulador presents en el vostre fitxer o en la sortida de l'ordre `diff` s'expandeixen en un nombre fixat de caràcters d'espai. Per omissió cada tabulador és reemplaçat per vuit espais, però aquí podeu establir un número diferent.

Frontal extern de diff:

- Quan useu qualsevol de les característiques que mostra el diàleg de diferències, com ara Visualitza Diferències amb el repositori..., el &cervisia; invoca el seu frontal diff intern, si preferiu un de diferent, com ara el &kompare;, TkDiff, o xxdiff, introduïu el seu nom de fitxer i camí aquí.

### Estat

En obrir un entorn de proves des d'un repositori remot, executa automàticament l'ordre «Fitxer -> Estat»

- En marcar aquesta opció, s'inicia l'ordre Fitxer Estat cada vegada que obriu un entorn de proves remot. Aquesta ordre pot trigar una mica i també necessita una connexió al servidor per repositoris remots (fent-la inusable fora de línia).

En obrir un entorn de proves des d'un repositori local, executa automàticament l'ordre «Fitxer -> Estat»

- En marcar aquesta opció, s'executa l'ordre Fitxer Estat cada vegada que obriu un entorn de proves local.

### Avançat

Temps d'espera després del qual apareixerà el diàleg de progrés (en ms):

- Pràcticament totes les ordres &CVS; que s'executen en un entorn de proves pertanyent a un repositori remot necessiten una connexió al servidor &CVS;. Això es veu afectat per retards de la connexió de xarxa o una ocupació alta del servidor. Per aquest motiu, per ordres com ara Visualitza Diferències amb el repositori..., el &cervisia; obre un diàleg que indica que l'ordre s'està executant i que us permet cancel·lar-lo. A més, aquest diàleg s'usa per mostrar-vos els missatges d'error des de &CVS;. Com que aquest diàleg pot resultar molest després d'un temps, només es mostra després d'un cert temps d'espera que és de 4 segons per omissió. Aquí podeu canviar aquest valor.

Nivell de compressió per omissió:

- El client `cvs` comprimeix els fitxers i els pedaços en transferir-los per la xarxa. Amb l'opció de línia d'ordres `-z`, es pot establir el nivell de compressió. Podeu arranjar el &cervisia; per utilitzar aquesta opció configurant aquí el nivell. El valor establert aquí només s'usa com a predeterminat; addicionalment hi ha un arranjament per a cada repositori disponible en Repositori Repositoris....

Inicia un procés nou de ssh-agent o empra'n un d'existent

- Marqueu aquesta casella si useu repositoris ext (↱), la consola remota &ssh; per comunicar-vos amb el repositori i ssh-agent per gestionar les vostres claus.

### Aparença

Tipus de lletra per a la finestra de protocol...

- Premeu aquest botó per obrir el diàleg Selecció del tipus de lletra per establir el tipus de lletra usat en la finestra de protocol (la finestra que mostra la sortida del client `cvs`).

Tipus de lletra per a la vista anotacions...

- Premeu aquest botó per obrir el diàleg Selecció del tipus de lletra, per establir la font usada en la vista anotada.

Tipus de lletra per a la vista de diff...

- Premeu aquest botó per obrir el diàleg Selecció del tipus de lletra, per establir la font usada en els diàlegs de diferències.

Colors

- Premeu els botons acolorits per obrir el diàleg Selecció dels colors, per establir el color usat per Conflicte, Canvi local, o Canvi remot, en la vista principal o Canvi diff, Inserció diff, o Esborrat diff, en el frontal intern de diff del &cervisia;.

Divideix la finestra principal horitzontalment

- La finestra principal del &cervisia; normalment es divideix verticalment en una finestra amb l'arbre de fitxers amunt i una amb la sortida &CVS; sota; alternativament les podeu arranjar horitzontalment.

## Apèndix

### Fitxers ignorats

En el seu arbre de fitxers principal, el &cervisia; no mostra tots els fitxers que són allà realment. Això és anàleg a `cvs` en si mateix i us ajuda a evitar el desordre causat per elements que no interessen com ara els fitxers d'objecte. El &cervisia; intenta imitar el comportament del `cvs` tant com sigui possible. &ead; obté les llistes d'ignorats de les següents fonts:

- Una llista estàtica d'entrades que inclou coses com ara `*.o` i `core`. Per detalls vegeu la documentació del &CVS;.

- El fitxer ``$HOME`/.cvsignore`.

- La variable d'entorn `$CVSIGNORE`.

- El fitxer `.cvsignore` en la carpeta respectiva.

El `cvs` en si mateix cerca addicionalment entrades en ``$CVSROOT`/CVSROOT/cvsignore`, però aquest és un fitxer en el servidor, i el &cervisia; ha de ser capaç d'iniciar-se fora de línia. Si esteu treballant amb un grup que prefereix usar una llista d'ignorats en el servidor, probablement és una bona idea donar una ullada als patrons que es llisten aquí per introduir-los en el fitxer `.cvsignore` en la vostra carpeta inici.

### Més informació i suport

- El &CVS; ve amb un complet conjunt de documentació en el format de pàgines d'informació, conegudes com «The Cederqvist». Si està adequadament instal·lat, podeu fullejar-les escrivint `info:/cvs` en la barra d'adreces del &konqueror; o podeu simplement seleccionar Ajuda Manual del CVS al &cervisia;. Una versió &HTML; en línia de Cederqvist és disponible en la web.

  Com que aquest llibre està mantingut juntament amb &CVS;, és normalment la referència més al dia; no obstant això hi ha altres documentacions recomanades per aprendre a usar &CVS; en particular les següents.

- Karl Fogel ha escrit un llibre excel·lent Desenvolupament de codi obert amb &CVS;. Prop de la meitat d'aquest llibre és sobre el procés de desenvolupament de programari de codi obert. L'altra meitat és una documentació tècnica de &CVS;. Afortunadament, la part tècnica del llibre s'ha fet lliurement redistribuïble sota la llicència GPL, de manera que podeu baixar una versió &HTML; del mateix. Una llista d'errates és disponible en la plana web mencionada a dalt.

- Les qüestions del &CVS; es discuteixen en una llista de correu dedicada.

- Hi ha un grup USENET `comp.software.config-mgmt` dedicat a la gestió de la configuració en general. &CVS; és només un tema aïllat en aquest grup, però no obstant això pot ser interessant per discutir als avantatges de diversos sistemes de control de revisions en comparació amb &CVS;.

### Referència d'ordres

#### El menú fitxer

&Ctrl;O Fitxer Obre un entorn de proves...

- Obre un entorn de proves a la finestra principal. Vegeu mainscreen.

Fitxer Entorns de proves recents

- Obre un dels entorns de proves que s'han emprat recentment.

Fitxer Insereix entrada en el registre de canvis...

- Obre l'editor del registre de canvis; preparat de manera que pugueu afegir una nova entrada amb la data actual. Vegeu committingfiles.

&Ctrl;U Fitxer Actualitza

- Executa «cvs update» en els fitxers seleccionats i canvia adequadament l'estat i els números de revisió en la llista. Vegeu mainscreen.

F5 Fitxer Estat

- Executa «cvs -n update» en els fitxers seleccionats i canvia adequadament l'estat i els números de revisió en la llista. Vegeu mainscreen.

Fitxer Edita

- Obre el fitxer seleccionat amb l'editor predeterminat del &kde; pels tipus de fitxer seleccionat.

Fitxer Resoldre...

- Obre un diàleg pels fitxers seleccionats que us permet resoldre conflictes de fusionat. Vegeu resolvingconflicts.

# Fitxer Publica...

- Us permet publicar els fitxers seleccionats. Vegeu committingfiles.

Inser Fitxer Afegeix al repositori...

- Us permet afegir els fitxers seleccionats al repositori. Vegeu addingfiles.

Fitxer Afegeix un binari...

- Us permet afegir els fitxers seleccionats al repositori com a binaris (`cvs add`-kb``). Vegeu addingfiles.

Supr Fitxer Elimina del repositori...

- Us permet eliminar fitxers del repositori. Vegeu removingfiles.

Fitxer Reverteix

- Descarta qualsevol canvi que heu fet en els fitxers seleccionats i els reverteix a la versió en el repositori (opció `-C` a l'ordre `cvs update`).

&Ctrl;Q Fitxer Surt

- Surt del &cervisia;.

#### El menú visualitza

Esc Visualitza Atura

- Atura qualsevol subprocés en execució.

&Ctrl;L Visualització Navega pel registre...

- Mostra el navegador del registre de les versions dels fitxers seleccionats. Vegeu browsinglogs.

&Ctrl;A Visualitza Anotacions...

- Mostra una vista anotada del fitxer seleccionat, &ead; una vista un podeu veure l'últim autor que ha modificat cada línia. Vegeu annotate.

&Ctrl;D Visualitza Diferències amb el repositori (BASE)...

- Mostra les diferències entre el fitxer seleccionat a l'entorn de proves i la darrera revisió que heu actualitzat (BASE) Vegeu diff.

&Ctrl;H Visualitza Diferències amb el repositori (HEAD)...

- Mostra les diferències entre el fitxer seleccionat a l'entorn de proves i la darrera revisió que heu actualitzat (BASE). Vegeu diff.

Visualitza Últims canvis...

- Mostra les diferències entre la revisió del fitxer seleccionat des de la darrera actualització (BASE) i la revisió anterior. Vegeu diff.

Visualitza Historial...

- Mostra l'historial del &CVS; retornat pel servidor. Vegeu browsinghistory.

Visualitza Oculta tots els fitxers

- Determina si només es mostren carpetes en la vista en arbre principal. Vegeu mainscreen.

Visualitza Oculta els fitxers sense modificar

- Determina si els fitxers amb l'última versió i els fitxers desconeguts s'oculten en la vista en arbre principal. Vegeu mainscreen.

Visualitza Oculta els fitxers eliminats

- Determina si els fitxers eliminats s'oculten en la vista en arbre principal. Vegeu mainscreen.

Visualitza Oculta els fitxers que no són en el CVS

- Determina si els fitxers que no són en el &CVS; s'oculten en la vista en arbre principal. Vegeu mainscreen.

Visualitza Oculta les carpetes buides

- Determina si les carpetes sense entrades visibles s'oculten en la vista en arbre principal. Vegeu mainscreen.

Visualitza Desplega l'arbre de fitxers

- Obre totes les branques en l'arbre de fitxers perquè pugueu veure tots els fitxers i les carpetes. Vegeu mainscreen.

Visualitza Plega l'arbre de fitxers

- Tanca totes les branques en l'arbre de fitxers. Vegeu mainscreen.

#### El menú avançat

Avançat Etiqueta/branca...

- Etiqueta o embranca els fitxers seleccionats. Vegeu taggingbranching.

Avançat Elimina etiqueta...

- Elimina una etiqueta donada dels fitxers seleccionats. Vegeu taggingbranching.

Avançat Actualitza a etiqueta/data...

- Proporciona els fitxers seleccionats a una etiqueta o data donada, marcant-los com etiquetats. Vegeu updatingto.

Avançat Actualitza a HEAD...

- Proporciona els fitxers seleccionats a la seva revisió HEAD respectiva. Vegeu updatingto.

Avançat Fusiona...

- Fusiona, sigui una branca especificada o les modificacions entre dues etiquetes en els fitxers seleccionats. Vegeu taggingbranching.

Avançat Afegeix vigilant...

- Afegeix un vigilant per a un grup d'esdeveniments pels fitxers seleccionats. Vegeu watches.

Avançat Elimina vigilant...

- Elimina un vigilant per a un grup d'esdeveniments dels fitxers seleccionats. Vegeu watches.

Avançat Mostra els vigilants

- Llista els vigilants dels fitxers seleccionats. Vegeu watches.

Avançat Edita els fitxers

- Executa `cvs edit` en els fitxers seleccionats. Vegeu watches.

Avançat Desfés l'edició de fitxers

- Executa`cvs unedit` en els fitxers seleccionats. Vegeu watches.

Avançat Mostra els editors

- Executa`cvs editors` en els fitxers seleccionats. Vegeu watches.

Avançat Bloqueja els fitxers

- Bloqueja els fitxers seleccionats. Vegeu locking.

Avançat Desbloqueja els fitxers

- Desbloqueja els fitxers seleccionats. Vegeu locking.

Avançat Crea pedaç contra el repositori...

- Crea un pedaç a partir de les modificacions al vostre entorn de proves. Vegeu creatingpatches.

#### El menú repositori

Repositori Crea...

- Obre un diàleg que us permet crear un nou repositori local. Vegeu accessing-repository.

Repositori Obtenir...

- Obre un diàleg que us permet recuperar un mòdul d'un repositori. Vegeu checkingout.

Repositori Importa...

- Obre un diàleg que us permet importar un paquet en el repositori. Vegeu importing.

Repositori Repositoris...

- Configura una llista dels repositoris que soleu utilitzar i com accedir-hi. Vegeu accessing-repository.

#### Els menús Arranjament i Ajuda

A part dels menús Arranjament i Ajuda comuns al &kde; que es descriuen en el capítol Menú de la documentació Fonaments del &kde;, el &cervisia; té aquestes entrades de menú específiques de l'aplicació:

Arranjament En actualitzar crea les carpetes

- Determina si durant les actualitzacions es crearan les carpetes que no hi eren abans a l'entorn de proves (opció `-d` a `cvs update`).

Arranjament En actualitzar elimina les carpetes buides

- Determina si durant les actualitzacions s'eliminaran les carpetes buides a l'entorn de proves (opció `-P` a `cvs update`).

Arranjament Actualitza recursivament

- Determina si les actualitzacions seran recursives (opció `-f` a `cvs update`).

Arranjament Commit i Remove recursivament

- Determina si les publicacions i eliminacions seran recursives (opció `-f` a `cvs add`, `cvs remove` respectivament).

Arranjament Fes el cvs edit automàticament quan sigui necessari

- Determina si l'ordre `cvs edit` s'executa automàticament cada vegada que s'edita un fitxer.

Ajuda Manual de CVS

- Obre les pàgines info del &CVS; en el &khelpcenter;.

## Crèdits i llicència

Copyright del programa

- 1999-2002 &Bernd.Gehrmann; &Bernd.Gehrmann.mail;

- 2002-2008 els autors del &cervisia;

Copyright de la documentació 1999-2002 &Bernd.Gehrmann; &Bernd.Gehrmann.mail; i 2004 Carlos Woelz carloswoelz@imap-mail.com

Traductor/Revisor de la documentació: &credits.Antoni.Bella;

&underFDL; &underGPL;