Manual del Cervisia

# Manual del Cervisia

Gehrmann, Bernd `<bernd@mail.berlios.de>`

Woelz, Carlos `<carloswoelz@imap-mail.com>`

Traductor: Manuel Tortosa
Revisor: Antoni Bella
revisió 3.11 (Aplicacions 16.08) (16 de juny de 2016)

Dret de reproducció © 1999, 2000, 2001, 2002 Gehrmann, Bernd

Dret de reproducció © 2004 Carlos Woelz

Avís legal

El Cervisia proporciona una vista gràfica del CVS.

Llistat de figures

2.1. Una captura de pantalla del diàleg Configura l'accés als repositoris amb el Cervisia
2.2. Una captura de pantalla del diàleg d'importació del Cervisia
2.3. Una captura de pantalla del diàleg d'extracció del Cervisia
2.4. Una captura de pantalla de la vista principal del Cervisia
3.1. Una captura de pantalla del menú contextual del Cervisia
3.2. Una captura de pantalla del diàleg de comissió del Cervisia
3.3. Una captura de pantalla del diàleg de resolució del Cervisia
4.1. Una captura de pantalla del diàleg de diferències del Cervisia
4.2. Una captura de pantalla del diàleg de pedaços del Cervisia
4.3. Una captura de pantalla del diàleg d'anotacions del Cervisia
4.4. Una captura de pantalla del diàleg de navegació de registres del Cervisia
4.5. Una captura de pantalla del diàleg d'historial del Cervisia
5.1. Una captura de pantalla del diàleg actualitza a l'etiqueta del Cervisia

Capítol 1. Introducció
Introducció

# Capítol 1. 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 visualitzadors 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 a 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 a 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 «comissió») i/o actualitzar la còpia pròpia per a reflectir els canvis recents fets pels altres contribuïdors.

Capítol 2. Com començar
Com començar

# Capítol 2. 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 a extreure 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.

### Suggeriment

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 a actualitzar i cometre. 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.

Procediment 2.1. 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 carpeta nova 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 mòdul nou 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ú.

Figura 2.1. Una captura de pantalla del diàleg Configura l'accés als repositoris amb el Cervisia

Hi ha diferents mètodes per a 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 a 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 a 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.

rsh

  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 rsh per a fer-ho; no obstant això, el rsh 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 rsh estàndard normal 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 rsh).

  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:

Procediment 2.2. 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 a 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 a accedir al repositori, introduïu l'intèrpret d'ordres remot que voleu utilitzar (p. ex. 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 a 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
Importació d'un mòdul al repositori

## 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 mòdul nou, 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 fitxers i carpetes noves manualment. Tindreu més control, però probablement trigareu una mica més de temps.

### Important

Tingueu en compte que el CVS fou dissenyat inicialment per a gestionar fitxers de text. Moltes característiques, com ara la fusió 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 a 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 cometre 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 a 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 mòdul nou buit. Després copieu els fitxers i carpetes a la còpia de treball, feu afegeix i comet per a pujar-ho tot al repositori de CVS.

Figura 2.2. Una captura de pantalla del diàleg d'importació del Cervisia

A la Figura 2.2, «Una captura de pantalla del diàleg d'importació del Cervisia» podeu veure el diàleg que us ajudarà a importar un projecte com a un mòdul. Per a accedir al diàleg d'importació del Cervisia, escolliu l'element Repositori → Importa... del menú.

Repositori: ❶

  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 a 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 «Accedint al repositori» per a més informació.

Mòdul: ❸

  El nom del mòdul sota el qual serà emmagatzemat el projecte. Després d'importar-lo, el projecte es podrà extreure amb aquest nom. Vegeu «Extracció d'un mòdul del repositori» 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: ❹

  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: ❺

  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, p. ex. 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 «Fitxers ignorats».

Comentari: ❷

  Utilitzeu aquest camp per a 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, és a dir 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

Extracció d'un mòdul del repositori
Extracció d'un mòdul del repositori

## Extracció 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 característiques noves. És molt difícil fer les dues coses alhora, perquè les característiques noves 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 a afegir característiques noves.

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 extraieu 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.

Figura 2.3. Una captura de pantalla del diàleg d'extracció 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 «Accedint al repositori» per a més informació.

Mòdul:

  El nom del mòdul a extreure. 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 mòdul nou 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 extreure 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 extreure. Si deixeu aquest camp en blanc, el Cervisia recuperarà la branca principal (HEAD).

Carpeta de treball:

  La carpeta sota la qual s'ha d'extreure 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 Extreu com a:.

Extreu com a:

  De resultes d'això, els fitxers de la còpia de treball seran extrets 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'extreure'ls. 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.

Extracció en mode recursiu

  Extreu tots els fitxers i carpetes recursivament.

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

## 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 a tornar a tancar totes les carpetes de la còpia de treball, escolliu Visualitza → Plega l'arbre de fitxers.

D'acord amb la configuració 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'opció 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.

Figura 2.4. 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 a 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 comissió.

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 comissió.

Necessita actualitzar-se

  Es mostra si existeix una versió més recent del fitxer al repositori, p. ex. perquè algú ha comès una modificació. Normalment, voldreu actualitzar aquest fitxer per a 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 comès les seves modificacions. Si escolliu actualitzar, les modificacions al repositori es fusionaran al vostre fitxer. En cas de conflicte (és a dir si algú ha canviat algunes de les mateixes línies que vós) llavors l'estat nou 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 elements nous següents 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 comès 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 a indicar que 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 a 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 a tornar a la vista ordenada alfabèticament, feu clic a la capçalera de la columna Nom de fitxer.

Capítol 3. Treballant amb fitxers
Treballant amb fitxers

# Capítol 3. 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à de les opcions fetes sota el menú Arranjament. Per exemple, si està marcat Arranjament → Comet i elimina recursivament i escolliu Fitxer → Comet... mentre hi ha seleccionada una carpeta, tots els fitxers en l'arbre sota aquesta carpeta seran comesos. Altrament, només els fitxers normals de la mateixa carpeta es veuran afectats.

Figura 3.1. 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 Figura 3.1, «Una captura de pantalla del menú contextual del Cervisia» mostra el menú contextual de la finestra principal del Cervisia.

Podeu editar simplement un fitxer fent-hi doble clic o seleccionant-lo i prement Retorn. Això inicia l'aplicació per omissió que gestiona aquest tipus de fitxer (l'aplicació predeterminada per a un tipus de fitxer és una opció 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 cometre'ls. Aquest procediment té un avantatge important: podeu cometre els fitxers juntament amb les modificacions a altres parts del projecte. En fer això veureu amb facilitat (p. ex. en correus de la comissió) que tots aquests canvis formen part d'una totalitat.

Amb aquesta finalitat, marqueu tots els fitxers per a 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 «Comès, afegit» pels fitxers afegits.

### Avís

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 (p. ex. a la cadena `$Revisió: 1.6 $`) quan un fitxer es comet en fitxers binaris, aquestes substitucions poden corrompre el fitxer i fer-lo completament inusable.

Per tal de desactivar el comportament anterior, podeu cometre 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
Eliminant fitxers

## 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 cometre aquesta modificació a l'entorn de proves, possiblement amb altres modificacions al projecte.

### Nota

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
Afegint o eliminant carpetes

## 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, és a dir 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 comissió posterior. El Cervisia emetrà l'ordre

    cvs add nom_del_directori

Cometent fitxers
Cometent fitxers

## Cometent 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 cometreu. Amb una comissió, emplaceu les vostres versions dels fitxers modificats com a una revisió nova al repositori. Una actualització posterior d'un altre desenvolupador li servirà les vostres modificacions a la seva còpia de treball.

Per tal de cometre un conjunt de fitxers, seleccioneu-los a la vista principal del Cervisia i escolliu Fitxer → Comet... o feu clic dret als fitxers marcats i escolliu Comet... des del menú contextual.

Figura 3.2. Una captura de pantalla del diàleg de comissió 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

.

### Nota

Un error habitual que podeu trobar en cometre és Ha fallat la comprovació de l'última versió. Això indica que algú ha comès 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 cometre. 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-.

### Nota

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

    %cvs update -r X

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

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 a 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 «General»). Quan acabeu podreu tancar el diàleg fent clic a D'acord, el pròxim diàleg de comissió que obriu tindrà el missatge de registre establert al darrer missatge que heu introduït al registre de canvis.

Resolució de conflictes
Resolució de conflictes

## 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 comeses 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 cometre el fitxer. El CVS rebutjarà cometre 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 manera següent:

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

Heu de substituir aquest bloc sencer amb la versió nova 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 a 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.

Figura 3.3. 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 a obrir un editor de text simple on podreu editar la secció. En acabar l'edició, premeu D'acord per a 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.

Capítol 4. Obtenint informació quant als fitxers i la creació de pedaços
Obtenint informació quant als fitxers i la creació de pedaços

# Capítol 4. 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 què heu actualitzat (també coneguda com a `BASE`). Això és particularment útil tot just després de cometre 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 cometeu 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 «Navegant pels registres del CVS»).

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 Figura 4.1, «Una captura de pantalla del diàleg de diferències del Cervisia».

Figura 4.1. 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, és a dir 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 «Visualitzador de diferències».

Creació de pedaços
Creació de pedaços

## Creació de pedaços

De vegades voldreu oferir les vostres modificacions per a revisar-les, abans de cometre-les, o no teniu accés al repositori (i per tant, no podeu cometre). CVS ofereix formats estàndards per a 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 «Observant les diferències entre revisions». 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 dona accés a aquesta característica seleccionant Avançat → Crea pedaç contra el repositori....

### Important

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 qual 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.

Figura 4.2. 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 a fer que l'editor faci automàticament una altra còpia de l'antic fitxer que casi amb el fitxer nou. 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 a intercanviar pedaços. El format unificat usa línies de context en addició als números de línia per a 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 a 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
Visualitzant una vista anotada d'un fitxer

## 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 dona 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 Figura 4.3, «Una captura de pantalla del diàleg d'anotacions del Cervisia».

Figura 4.3. 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 a 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
Navegant pels registres del CVS

## 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 comissió, 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.

Figura 4.4. 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 què 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 a alleugerir aquests problemes, teniu l'habilitat de cercar el text de la sortida CVS, prement el botó Cerca....

Per a 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 botó esquerre del ratolí, 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 «Visualitzant una vista anotada d'un fitxer».

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 «Observant les diferències entre revisions».

Si premeu el botó Crea un pedaç..., obtindreu un diàleg el que podreu establir les opcions de format per a 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 «Creació de pedaços».

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 a abandonar el diàleg i tornar a la vista principal.

Per a 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
Navegant per l'historial

## Navegant per l'historial

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

    cvs history -e -a

### Nota

Això recupera el registre complet del servidor, és a dir 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:

- Extracció - l'usuari que es mostra en la columna «Autor» ha extret 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 ha 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 versió nova 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.

- Comès, modificat - un usuari ha comès un fitxer modificat.

- Comès, afegit - un usuari ha afegit un fitxer i l'ha comès.

- Comès, eliminat - un usuari ha comès l'eliminació d'un fitxer.

Figura 4.5. 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 a 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 comissió - mostra les comissions

- Mostra els esdeveniments d'extracció - mostra les extraccions

- 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, p. ex. aquí el conjunt consisteix en a,b,c,x,y,z.

Capítol 5. Ús avançat
Ús avançat

# Capítol 5. Ú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 característiques noves. És molt difícil fer les dues coses alhora, perquè les característiques noves generalment introdueixen errors nous, cosa que dificulta localitzar els antics. Per a 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 a afegir característiques noves.

Les etiquetes s'usen per a marcar una versió d'un projecte. CVS marca una versió de cada fitxer amb l'etiqueta, de manera que quan vulgueu extreure 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 a 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 a gaudir de la seva relativa estabilitat, arranjar errors, traduir les fonts, etc. Per a 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 comissions noves també es pujaran a la branca nova.

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.

### Avís

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

Figura 5.1. Una captura de pantalla del diàleg actualitza a l'etiqueta del Cervisia

Actualitza a la branca

  Seleccioneu aquesta opció per a 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 a 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 a 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 a 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 (numèric) i `dd` és el dia. Les alternatives són algunes frases en anglès com ara `yesterday` o `2 weeks ago`.

### Nota

Actualitzar a una etiqueta o data fa que sigui etiquetat, és a dir no podreu cometre 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 a actualitzar a una branca o etiqueta és:

    cvs update -r etiqueta

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

    cvs update -D data

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

    cvs update -A

Etiquetatge i branques
Etiquetatge i branques

## 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 qual 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
Usant els vigilants

## Usant els vigilants

Un vigilant és el nom convencional d'una característica de CVS per a 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 comès, marqueu les caselles Només i Comissions. 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 vigilar.

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 Cervisiaemet 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 extret. 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 comet 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 d'`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 cometre 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 cometre 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 quals els editats i els no editats 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'extreuen 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 cometre'l 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, cometeu els fitxers, i els fitxers comesos seran de només lectura de nou.

Bloqueig
Bloqueig

## Bloqueig

El model de desenvolupament seguit habitualment quan s'usa CVS s'anomena extraccions 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 a 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 manera següent. 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

Capítol 6. Personalitzant el Cervisia
Personalitzant el Cervisia

# Capítol 6. 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 entrada nova en el registre de canvis amb la data actual i el vostre nom d'usuari. Normalment, es considera un estil nou 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`.

Visualitzador de diferències
Visualitzador de diferències

## Visualitzador 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 tabuladors 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 en preferiu un de diferent, com ara el Kompare, TkDiff, o xxdiff, introduïu el seu nom de fitxer i camí aquí.

Estat
Estat

## 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
Avançat

## 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 a 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 a 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 (rsh), la consola remota ssh per a comunicar-vos amb el repositori i ssh-agent per a gestionar les vostres claus.

Aparença
Aparença

## Aparença

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

  Premeu aquest botó per a obrir el diàleg Selecció del tipus de lletra per a establir la lletra usada 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 a obrir el diàleg Selecció del tipus de lletra, per a establir la lletra usada en la vista anotada.

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

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

Colors

  Premeu els botons acolorits per a obrir el diàleg Selecció dels colors, per a 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 integrat 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.

Capítol 7. Apèndix
Apèndix

# Capítol 7. 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. és a dir 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 a introduir-los en el fitxer `.cvsignore` en la vostra carpeta inici.

Més informació i suport
Més informació i suport

## 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 a 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 a debatre als avantatges de diversos sistemes de control de revisions en comparació amb CVS.

Referència d'ordres
Referència d'ordres

## Referència d'ordres

### El menú fitxer

Fitxer → Obre un entorn de proves... (Ctrl+O)

  Obre un entorn de proves a la finestra principal. Vegeu «La pantalla principal, visualització de l'estat dels fitxers i actualització».

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 entrada nova amb la data actual. Vegeu «Cometent fitxers».

Fitxer → Actualitza (Ctrl+U)

  Executa «cvs update» en els fitxers seleccionats i canvia adequadament l'estat i els números de revisió en la llista. Vegeu «La pantalla principal, visualització de l'estat dels fitxers i actualització».

Fitxer → Estat (F5)

  Executa «cvs -n update» en els fitxers seleccionats i canvia adequadament l'estat i els números de revisió en la llista. Vegeu «La pantalla principal, visualització de l'estat dels fitxers i actualització».

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 fusió. Vegeu «Resolució de conflictes».

Fitxer → Comet... (#)

  Us permet cometre els fitxers seleccionats. Vegeu «Cometent fitxers».

Fitxer → Afegeix al repositori... (Inser)

  Us permet afegir els fitxers seleccionats al repositori. Vegeu «Afegint fitxers».

Fitxer → Afegeix un binari...

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

Fitxer → Elimina del repositori... (Supr)

  Us permet eliminar fitxers del repositori. Vegeu «Eliminant fitxers».

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).

Fitxer → Surt (Ctrl+Q)

  Surt del Cervisia.

### El menú visualitza

Visualitza → Atura (Esc)

  Atura qualsevol subprocés en execució.

Visualització → Navega pel registre... (Ctrl+L)

  Mostra el navegador del registre de les versions dels fitxers seleccionats. Vegeu «Navegant pels registres del CVS».

Visualitza → Anotacions... (Ctrl+A)

  Mostra una vista anotada del fitxer seleccionat, és a dir una vista on podeu veure l'últim autor que ha modificat cada línia. Vegeu «Visualitzant una vista anotada d'un fitxer».

Visualitza → Diferències amb el repositori (BASE)... (Ctrl+D)

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

Visualitza → Diferències amb el repositori (HEAD)... (Ctrl+H)

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

Visualitza → Últims canvis...

  Mostra les diferències entre la revisió del fitxer seleccionat des de la darrera actualització (BASE) i la revisió anterior. Vegeu «Observant les diferències entre revisions».

Visualitza → Historial...

  Mostra l'historial del CVS retornat pel servidor. Vegeu «Navegant per l'historial».

Visualitza → Oculta tots els fitxers

  Determina si només es mostren carpetes en la vista en arbre principal. Vegeu «La pantalla principal, visualització de l'estat dels fitxers i actualització».

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 «La pantalla principal, visualització de l'estat dels fitxers i actualització».

Visualitza → Oculta els fitxers eliminats

  Determina si els fitxers eliminats s'oculten en la vista en arbre principal. Vegeu «La pantalla principal, visualització de l'estat dels fitxers i actualització».

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 «La pantalla principal, visualització de l'estat dels fitxers i actualització».

Visualitza → Oculta les carpetes buides

  Determina si les carpetes sense entrades visibles s'oculten en la vista en arbre principal. Vegeu «La pantalla principal, visualització de l'estat dels fitxers i actualització».

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 «La pantalla principal, visualització de l'estat dels fitxers i actualització».

Visualitza → Plega l'arbre de fitxers

  Tanca totes les branques en l'arbre de fitxers. Vegeu «La pantalla principal, visualització de l'estat dels fitxers i actualització».

### El menú avançat

Avançat → Etiqueta/branca...

  Etiqueta o embranca els fitxers seleccionats. Vegeu «Etiquetatge i branques».

Avançat → Elimina etiqueta...

  Elimina una etiqueta donada dels fitxers seleccionats. Vegeu «Etiquetatge i branques».

Avançat → Actualitza a etiqueta/data...

  Proporciona els fitxers seleccionats a una etiqueta o data donada, marcant-los com etiquetats. Vegeu «Actualitzant a una etiqueta, branca o data».

Avançat → Actualitza a HEAD...

  Proporciona els fitxers seleccionats a la seva revisió HEAD respectiva. Vegeu «Actualitzant a una etiqueta, branca o data».

Avançat → Fusiona...

  Fusiona, sigui una branca especificada o les modificacions entre dues etiquetes en els fitxers seleccionats. Vegeu «Etiquetatge i branques».

Avançat → Afegeix vigilant...

  Afegeix un vigilant per a un grup d'esdeveniments pels fitxers seleccionats. Vegeu «Usant els vigilants».

Avançat → Elimina vigilant...

  Elimina un vigilant per a un grup d'esdeveniments dels fitxers seleccionats. Vegeu «Usant els vigilants».

Avançat → Mostra els vigilants

  Llista els vigilants dels fitxers seleccionats. Vegeu «Usant els vigilants».

Avançat → Edita els fitxers

  Executa cvs edit en els fitxers seleccionats. Vegeu «Usant els vigilants».

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

  Executa cvs unedit en els fitxers seleccionats. Vegeu «Usant els vigilants».

Avançat → Mostra els editors

  Executa cvs editors en els fitxers seleccionats. Vegeu «Usant els vigilants».

Avançat → Bloqueja els fitxers

  Bloqueja els fitxers seleccionats. Vegeu «Bloqueig».

Avançat → Desbloqueja els fitxers

  Desbloqueja els fitxers seleccionats. Vegeu «Bloqueig».

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

  Crea un pedaç a partir de les modificacions al vostre entorn de proves. Vegeu «Creació de pedaços».

### El menú repositori

Repositori → Crea...

  Obre un diàleg que us permet crear un repositori local nou. Vegeu «Accedint al repositori».

Repositori → Extreu...

  Obre un diàleg que us permet extreure un mòdul d'un repositori. Vegeu «Extracció d'un mòdul del repositori».

Repositori → Importa...

  Obre un diàleg que us permet importar un paquet en el repositori. Vegeu «Importació d'un mòdul al repositori».

Repositori → Repositoris...

  Configura una llista dels repositoris que soleu utilitzar i com accedir-hi. Vegeu «Accedint al repositori».

### 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 comissions 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.

Capítol 8. Crèdits i llicència
Crèdits i llicència

# Capítol 8. Crèdits i llicència

Copyright del programa

- 1999-2002 Gehrmann, Bernd `(bernd AT mail.berlios.de)`

- 2002-2008 els autors del Cervisia

Copyright de la documentació 1999-2002 Gehrmann, Bernd `(bernd AT mail.berlios.de)` i 2004 Carlos Woelz carloswoelz@imap-mail.com

Traductor/Revisor de la documentació: Antoni Bella `(antonibella5 AT yahoo.com)`

Aquesta documentació està llicenciada d'acord amb les clàusules de la Llicència de Documentació Lliure de GNU.

Aquest programa està llicenciat d'acord amb les clàusules de la Llicència Pública General de GNU.