# Manual del &cervisia;

Bernd
Gehrmann

    &Bernd.Gehrmann.mail;

Carlos
Woelz

    carloswoelz@imap-mail.com

Manuel
Tortosa

    manutortosa@gmail.com

Traductor
1999
2000
2001
2002
&Bernd.Gehrmann;
2004
Carlos Woelz
&FDLNotice;
2008-09-08
3.1.1

&cervisia; proporciona una vista gràfica del &CVS;.

KDE
kdesdk
Cervisia
CVS
control de versió
control de revisió

## Introducció

&cervisia; és un frontal amigable del sistema de control de versions. Amb l'ànim d'implementar &CVS; i altres programes de sistema de control de versions 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. Podeu obtenir &cervisia; construint el mòdul kdesdk o instal·lant el paquet kdesdk proporcionat per la vostra distribució. Actualment només està implementat &CVS;, però es poden integrar altres sistemes de control de versions en un futur.

Un sistema de control de versions és una eina per enregistrar, gestionar i distribuir diferents versions de fitxers. &CVS; és un sistema de control de versions. Permet compartir senzillament les vostres modificacions, de manera que cada un 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 conté normalment un projecte col·laboratiu (comercial o no), però podeu aprofitar les característiques de control que ofereix &CVS; i també 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 d'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 còpia local; podeu afegir les vostres modificacions al repositori principal (un procés anomenat "publicació") i/o actualitzar les còpia pròpia per a reflectir els canvis recents fets per altres contribuïdors.

## Com començar

### Accedint al repositori

En aquesta secció, us mostrarem com usar les funcionalitats bàsiques del sistema de control de versions usant &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 a donat un compte en la màquina del servidor. Alternativament, podeu crear fàcilment un repositori local pel vostre propi projecte.

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

#### Creació d'un repositori local

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

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

3. Confirmeu-ho prement el botó Bé. &cervisia; crearà i inicialitzarà la nova carpeta de repositori.

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

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

#### Una instantània del diàleg Configura l'accés als repositoris del &cervisia;

Una instantània del diàleg Configura l'accés als repositoris del &cervisia;

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

`[:mètode:][[usuari][:contrasenya]@]nom de la màquina[:[port]]/ruta/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 depèn del mètode d'accés usat, que pot ser categoritzat com segueix:

Local

  El mètode d'accés local és el mètode predeterminat usat per &CVS;. Per tant, és opcional afegir el mètode :local: a la ubicació del repositori: podeu simplement introduir la ruta a la carpeta que emmagatzema el repositori &CVS;, i és accessible des del vostre ordinador, com ara `/ruta/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 la ruta cap a ell.

&rsh;

  La ubicació del repositori és alguna cosa semblant a `:ext:nom_usuari@màquina.url.org:/ruta/al/repositori`.

  Aquest mètode requereix que tingueu un compte d'usuari en la màquina del servidor (en aquest exemple, màquina.url.org) i usar un intèrpret d'ordres remot per la comunicació. Per omissió &CVS; usa &rsh; per a fer-ho; no obstant això &rsh; s'ha considerat insegur durant molt de temps i normalment és reemplaçat per &ssh;.

  SI voleu usar &ssh;, heu d'establir la variable d'entorn $`CVS_RSH` a &ssh; en usar el client `cvs`, &cervisia; implementa això de manera senzilla.

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

  Amb &ssh; això es pot aconseguir copiant la vostra clau pública ubicada en el fitxer `identity.pub`, ubicat en la carpeta `$`HOME`/.ssh/` del servidor. En aquest cas, la clau no ha d'estar encriptada amb un mot de pas (mireu la pàgina &ssh; del manual i &CVS;/SSH FAQ en SourceForge). Si no esteu segur quant a aquestes qüestions, contacteu amb el vostre administrador del sistema.

pserver

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

  Aquest mètode accedeix al servidor mitjançant un protocol especial amb una autenticació relativament feble (`pserver` per a l'autenticació de 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 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 &CVS; al seu codi font. Això significa que podeu obtenir fàcilment el darrer codi font, modificar-lo i crear pedaços (diferències) contra el repositori sense que se us demani un compte &CVS;. Com a regla general, el &CVS; anònim usa 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 nou repositori

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

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

3. Introduïu la ubicació del repositori en la caixa de text Repositori:. &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 usant el mètode ext per accedir al repositori, introduïu l'intèrpret d'ordres remot que voleu usar (&pex; &ssh;) en la caixa de text Usa l'intèrpret d'ordres remot (només per a repositoris :ext:):.

5. Premeu Bé. Veure el repositori que acabeu d'introduir en la llista dels repositoris.

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

   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 Bé per aplicar les modificacions o afegiu una altra ubicació a la llista. &cervisia; emmagatzemarà tantes ubicacions com vulgueu.

### Importació d'un mòdul en el repositori

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

Hi ha dos maneres de posar un projecte en el &CVS;:

- Importar els fitxers i les carpetes a un nou mòdul, usant el diàleg d'importació del &cervisia;. Els Mòduls són les carpetes superiors de l'arbre de carpetes del repositori &CVS; i s'utilitzen per 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.

Tinguen en compte que &CVS; fou dissenyat inicialment per a gestionar fitxers de text. Moltes característiques, com ara el fusionat de revisions, la creació de diferències de forma que siguin llegibles, &etc; només són efectuades en fitxers de text. Això no vol dir que no pugeu usar &CVS; per mantenir fitxers binaris, senzillament significa que heu de especificar explícitament al &CVS; si és un fitxer de text o un fitxer binari. Si declareu un tipus de fitxers 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 fitxers binaris. Podeu solucionar aquesta limitació mitjançant la creació d'una carpeta amb els arxius de només un dels tipus, o informar dels patrons dels fitxers que han de ser ignorats 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 a &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 modul importat recentment a una nova còpia de treball 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 modul buit. Per afegir un modul buit a un repositori, simplement heu de crear una nova carpeta en la carpeta arrel del repositori del &CVS;. El nom d'aquesta carpeta serà el nom del modul. Feu un Checkout del nou modul buit. Després copieu els fitxers i carpetes a la còpia de treball, afegir i publicar per pujar-ho tot al repositori del &CVS;.

#### Una instantània del diàleg d'importació del &cervisia;

Una instantània del diàleg d'importació del &cervisia;

En podeu veure el diàleg que us ajudarà a importar un projecte com a un modul. Per accedir al diàleg d'importació del &cervisia;, seleccioneu l'element del menú Repositori Importa....

Repositori:

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

  La caixa de llista desplegable mostra una llista dels repositoris que heu introduït prèviament usant la caixa de diàleg Configura l'accés als repositoris. Si el repositori és remot, assegureu-vos que l'autenticació funciona. Mireu 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 pot ser obtingut sota aquest nom. Mireu 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 usat històricament pel seguiment de fonts de tercers. Només heu 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 usat històricament per importar diferents versions de programari de tercers. Si no esteu fent això, useu la paraula `inicial` o una cadena `FOO_1.0` on `FOO` és el nom del projecte, i `1.0` és el número de versió del llançament importat.

Ignora fitxers:

  Si empleneu aquest camp, una opció addicional `-I noms_de_fitxers` és donada a l'ordre `cvs import`. Aquesta entrada és interpretada com una llista de patrons de noms de fitxers separats per un espai que són ignorats. En general un forma més neta i menys propensa a errors per controlar quins fitxers van en el 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 per &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 del &CVS;, mireu .

Comentari:

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

Importa com a binaris

  Si marqueu aquesta casella, tots els fitxers s'importaran en mode binari, &ead; es donarà un argument `-kb` a `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 la modificació dels fitxers en lloc de la data d'importació.

Després que hageu emplenat aquest formulari i ho hageu confirmat prement Bé, s'usarà la següent ordre &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 &CVS;, creant la vostra còpia de treball.

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

Les branques d'un mòdul són versions paral·leles d'aquest mòdul. Una 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'utilitzen per marcar una versió d'un projecte. &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 marcar nous productes, grans canvis en el codi,&etc;. Usant etiquetes, podeu tornar fàcilment el projecte a un estat anterior, per reproduir i seguir errors, generar el codi de llançament de nou, &etc;.

#### Una instantània del diàleg de recuperació del &cervisia;

Una instantània del diàleg de recuperació del &cervisia;

Repositori:

  El nom del repositori &CVS; també conegut com a``$CVSROOT``. La caixa de llista desplegable mostra una llista dels repositoris que heu introduït prèviament usant la caixa de diàleg Configura l'accés als repositoris. Si el repositori és remot, assegureu-vos que l'autenticació funciona. Mireu 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 nova carpeta 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 llista.

  Noteu que és possible recuperar una subcarpeta existent del mòdul, sense recuperar la resta del mòdul. Simplement introduïu la ruta a la subcarpeta. Per exemple, si només voleu obtenir la subcarpeta `doc/cervisia` del mòdul kdesdk, introduïu `kdesdk/doc/cervisia` en aquest camp.

Etiqueta de la branca:

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

Carpeta de treball:

  La carpeta sota la qual s'ha de recuperar el mòdul. Noteu que la carpeta del nivell superior de la còpia de treball és anomenada després del mòdul que esteu recuperant, 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 es recuperen a una carpeta alternativa sota la carpeta de treball en lloc de a una carpeta anomenada després del mòdul.

Tan sols exporta

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

Obtenir en mode recursiu

  Recupera tots els fitxers i carpetes recursivament.

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

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

Per omissió, &cervisia; no mostra els fitxers que contenen les subcarpetes, per tant heu de clicar les carpetes que voleu veure. Per 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, seleccioneu Visualitza Plega l'arbre de fitxers .

D'acord amb l'arranjament del vostre fitxer `.cvsignore`, els fitxer que normalment no voleu incloure en el repositori - com ara els fitxers d'objecte - no són mostrats en la vista d'arbre. Per cada fila, podeu veure el seu estat corresponent. En l'arranjament per omissió, després d'obrir la carpeta local, l'estat és «Desconegut» perquè &cervisia; retarda la recuperació de la informació fins que seleccioneu els fitxers i les carpetes l'estat dels quals voleu actualitzar o veure i seleccioneu 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 &CVS;.

#### Una instantània de la vista principal del &cervisia;

Una instantània 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 seleccioneu Fitxer Estat o premeu F5. &cervisia; emet una ordre

    cvs update -n noms_de_fitxers

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

Modificat localment

  Això significa que heu modificat el fitxer comparant al de la versió en el repositori.

Afegit localment

  Això significa que el fitxer no existeix en el repositori, però està en 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

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

Necessita actualitzar-se

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

Necessita apedaçar-se

  Això és essencialment el mateix d'abans; la diferència és que en el cas d'una actualització, el servidor &CVS; us transfereix només un pedaç enlloc del fitxer sencer.

Necessita fusionar-se

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

Última versió

  Indica que el fitxer és identic amb la versió en el repositori.

Conflicte

  Això 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 en el repositori &CVS;. Si voleu que estigui disponible pels altres, heu d'afegir-lo al repositori, Si no, considereu d'afegir-lo al vostre fitxer `.cvsignore`.

Ara que heu obtingut una vista general de l'estat actual del &CVS;, potser voleu fer una actualització. Marqueu alguns fitxers (o l'arrel de l'arbre de carpetes que equival a marcar tots els fitxers d'aquesta carpeta). Ara seleccioneu Fitxer Actualitza (per descomptat, podríeu haver seleccionat això a l'inici de la sessió). Ara pot 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 en la columna d'estat:

Actualitzat

  Mostra si el fitxer s'ha actualitzat des del repositori.

Apedaçat

  Indica que el servidor &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.

Podeu haver notat que, segons l'estat del fitxer, la seva fila té un color diferent.Els colors són seleccionats per 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 pugeu 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 cliqueu en 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, cliqueu en la capçalera de la columna Nom de fitxer.

## Treballant amb fitxers

Totes les funcions usades habitualment en &CVS; són disponibles directament en 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ó depèn de l'arranjament fet sota el menú Arranjament. Per exemple, si està marcat Arranjament Commit i Remove recursivament i seleccioneu Fitxer Publica... mentre una carpeta està seleccionada, tots els fitxers en l'arbre sota d'aquesta carpeta són publicats. Altrament, només els fitxers normals de la pròpia carpeta es veuran afectats.

### Una instantània del menú contextual del &cervisia;

Les accions més usades també estan disponibles dretaclicant els fitxers en la vista d'arbre, a través del menú contextual. mostra el menú contextual de la finestra principal del &cervisia;.

Podeu simplement editar un fitxer dobleclicant-lo 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 arranjament per a tot el &kde;), si l'aplicació per omissió no és la que voleu usar, podeu dretaclicar el fitxer i seleccionar el submenú Edita amb , i seleccionar una de les altres aplicacions que gestiona aquest tipus de fitxer.

### Afegint fitxers

Afegir fitxers a un projecte requereix de 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 és suficient. Per posar-los en el repositori, heu 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ò podeu veure fàcilment (&pex; en correus de la publicació) que tots aquests canvis són part d'una totalitat.

Amb aquesta finalitat, marqueu tots els fitxers per afegir-los a la vista principal del &cervisia;. A continuació seleccioneu Fitxer Afegeix al repositori..., o dretacliqueu els 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 Bé per confirmar.

&cervisia; emet una ordre

    cvs add noms_de_fitxers

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

&CVS; no està dissenyat per dotar d'una control de revisions significatiu pels fitxers binaris. Per exemple, normalment no té sentit fusionar fitxers binaris. A més, per omissió &CVS; realitza una expansió de les paraules clau (&pex; en la cadena `&dollar;Revisió: 1.6 &dollar;`) quan un fitxer es publica en fitxers binaris, aquests reemplaçaments podem 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) seleccionant Fitxer Afegeix binari.... Apareixerà el diàleg Afegeix al CVS, llistant el fitxers binaris que heu marcat i us demanarà confirmació. Premeu Bé per confirmar.

&cervisia; emet una ordre

    cvs add -kb noms_de_fitxers

### Eliminant fitxers

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

    cvs remove -f noms_de_fitxers

Després d'això aquesta modificació en la carpeta local s'ha de publicar, possiblement amb altres modificacions al projecte.

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

### Afegint o eliminant carpetes

La carpetes són gestionades fonamentalment diferent als fitxers normals per &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 alternativa, &CVS; segueix la convenció que una carpeta «no existeix» en la versió del projecte si és buida. Aquesta convenció pot forçar-se usant l'opció `-P` a `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 seleccionant Fitxer Afegeix al repositori... o dretaclicant les carpetes marcades i seleccionant Afegeix al repositori... del menú contextual. Noteu que contràriament a afegir fitxers, afegir carpetes no requereix d'una posterior publicació. &cervisia; emetrà l'ordre

    cvs add nom_del_directori

### Publicant fitxers

Quan hageu 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ó en el repositori. Una actualització posterior d'un altre desenvolupador li servirà les vostres modificacions en la seva còpia de treball.

Per tal de publicar un conjunt de fitxers, seleccioneu-los en la vista principal del &cervisia; i seleccioneu Fitxer Publica... o dretacliqueu els fitxers marcats i seleccioneu Publica... del menú contextual.

#### Una instantània del diàleg de publicació del &cervisia;

Obtindreu un diàleg que mostrarà una llista dels fitxers seleccionats en la secció superior i un registre de missatges pels canvis a sota. &cervisia; us ajuda de diverses formes per a trobar un missatge concret: primer, en la llista de fitxers podeu dobleclicar un fitxer o prémer Retorn per tal de veure els canvis que heu fet en el fitxer. Segon, us dóna una llista de missatges de registre que heu usar prèviament en una caixa combo. tercer, aquest diàleg s'integra 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_fitxers

.

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, &CVS; rebutja 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 una bona costum comprovar si el programa encara funciona després que heu actualitzat - després de tot, hi pot haver interaccions negatives entre les vostres modificacions i les altres modificacions que poden malmetre el codi.

Una altre error habitual resulta en el missatge d'error La 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'usa per &pex; per l'element del menú Avançat Actualitza a etiqueta/data...). En aquest cas, l'etiqueta del fitxer queda adherida, &ead; posteriors actualitzacions no us portaran la revisió més nova en la branca. Si voleu publicar revisions posteriors en la branca, heu d'actualitzar a l'etiqueta de la branca abans de fer futures publicacions.

Amb &cervisia; és molt fàcil de mantenir un fitxer de registre de canvis que és compatible amb l'establert a les línies mestres de programació de &GNU;. Per usar-lo, seleccioneu Fitxer Insereix entrada al registre de canvis.... Si existeix un fitxer amb el nom `ChangeLog` en el nivell superior de la vostra carpeta local, aquest fitxer serà carregat i tindreu la possibilitat d'editar-lo. Amb aquesta finalitat, en 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 en ). Quan acabeu podeu tancar el diàleg clicant Bé, el pròxim diàleg de publicació que obriu tindrà el missatge de registre establert al darrer missatge que heu introduït en el registre de canvis.

### Resolució de conflictes

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

En la vista principal del &cervisia;, s'indiquen els fitxers amb conflictes amb «Conflicte» en la columna d'estat i amb el color vermell.Ara és feina vostra resoldre aquests conflictes abans de publicar el fitxer. &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 doblecliqueu el fitxer en qüestió i editeu-lo amb el vostre editor favorit.

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

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

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

Afortunadament, &cervisia; ofereix una interfície més agradable per 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 usar el diàleg Resolució CVS del &cervisia; seleccioneu Fitxer Resoldre... o dretacliqueu el fitxer marcat i seleccioneu Resoldre... del menú contextual.

#### Una instantània del diàleg de resolució del &cervisia;

Una instantània del diàleg de resolució del &cervisia;

En 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 reflexa quina d'aquestes seccions serà en la vostra còpia de treball si premeu el botó Desa.

Podeu anar enrere i endavant entre les seccions amb conflictes prement << i >>. en 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 Bé per tornar al diàleg Resolució CVS i acabar de resoldre conflictes. Podeu veure la secció que acabeu d'editar en la Versió fusionada, amb les vostres modificacions.

Per desar les modificacions, sobreescrivint la versió de la còpia de treball, premeu Desa. Noteu 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 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ó en la vostra carpeta local 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ó de la vostra carpeta local i la branca de desenvolupament principal (també anomenada `HEAD`) seleccionant Visualitza Diferències amb el repositori (HEAD)....

- Podeu veure les diferències entre les dos 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ó, ja sigui dobleclicant-lo 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 dos revisions d'un fitxer i sol·licitar un diàleg mostrant-ne les diferències (mireu ).

Tal com podeu haver esperat, &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 .

#### Una instantània del diàleg de diferències del &cervisia;

Una instantània 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 dos finestres, amb línies arranjades de manera que podeu fer una comparació costat a costat. Això vol dir que, on s'ha afegit o editat 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 possible tipus 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 la 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, mireu .

### 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 . Compartir pedaços en lloc de grups de fitxers requereix menys ample 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.

&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 (carpeta local) 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ç, &cervisia; mostra un diàleg permetent-vos configurar el format de sortida.

#### Una instantània del diàleg de pedaços del &cervisia;

Una instantània 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 adició 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 en cru, i més precis d'aplicar el pedaç, però incrementa la mida del pedaç. Està recomanat usar almenys dos 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, &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.

&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 un instantània del diàleg en .

#### Una instantània del diàleg d'anotacions del &cervisia;

Una instantània 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 hageu 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 &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 d'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 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 parelles amb la còpia de treball actual del fitxer marcat.

#### Una instantània del diàleg de navegació de registres del &cervisia;

Una instantània del diàleg de navegació de registres del &cervisia;

Podeu seleccionar veure la historia 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 d'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", useu les dreceres &Ctrl;A, &Ctrl;B, respectivament. Usant la vista Sortida CVS , podeu clicar en Selecció per a la revisió A i Selecció per a la revisió B per 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 .

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 revisio "B", &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ò us permet veure les diferències entre la vostra versió del fitxer i qualsevol versió disponible en &CVS;. Per fer més fàcil de veure els canvis, s'usen diferents colors per marcar les línies que s'han afegit, eliminat o simplement canviat. Podeu obtenir més informació quant a veure diferències en .

Si premeu el botó Crea un pedaç..., obtindreu un diàleg el que 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", &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ò us 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 Bé, s'emet una ordre `cvs diff` per 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 .

Si premeu el botó Visualitza, &cervisia; recuperarà la revisió marcada com "A" i la mostrarà usant 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, &cervisia; emet la següent ordre:

    cvs log nom_de_fitxer

### Navegant per l'historial

Si el repositori usat té habilitat el registre, &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 &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 (mireu les FAQ 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 un 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 instantània del diàleg d'historial del &cervisia;

Una instantània 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 clicables:

- 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 esdeveniment causats per un cert usuari

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

- Només les carpetes que coincideixin - filtra els noms de carpetes 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. Una 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 instantània del diàleg actualitza a l'etiqueta del &cervisia;

Una instantània 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 la caixa 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 la caixa 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 date é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 &cervisia; 1.0 és disponible sota l'etiqueta `CERVISIA_1_0`. &cervisia; força les regles estrictes de &CVS; quant a la constitució de noms vàlids d'etiquetes. Han de començar amb una lletra i poden contenir lletres, digits, 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. &cervisia; executarà l'ordre

    cvs update -j etiqueta_branca

Una altra possibilitat és que vulgueu fusionar només les modificacions fetes entre dos 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 dos 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 a 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. L'ordre usat 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, &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 en la seva carpeta local obtinguda. 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 &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 l'ordre

    echo y | cvs unedit noms_dels_fitxers

Fins ara, només hem parlat del casos en els que el 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 dobleclicant-lo &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é la seva pròpia carpeta local on pot editar els fitxers com vulgui. I quan s'usen 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 en la carpeta local 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 &cervisia; es bloquegen 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;

&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. &cervisia; afegeix automàticament el nom sencer i l'adreça de correu electrònic introduïts aquí.

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

  Aquí podeu establir el nom (o ruta) al l'ordre del client `cvs`. Per omissió &cervisia; usa l'executable &CVS; trobat en la vostra `$PATH`.

### Visor de diferències

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

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

Opcions addicionals per al cvs diff:

  Aquí podeu afegir argument 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 número 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..., &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 ruta aquí.

### Estat

En obrir una carpeta local des d'un repositori remot, executa automàticament una ordre Fitxer->Estat

  En marcar aquesta opció, s'inicia l'ordre Fitxer Estat cada vegada que obriu una carpeta local remota. 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 una carpeta local 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 una carpeta 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 una carpeta local 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... &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 &cervisia; per usar 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 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 el 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, &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 el fitxers d'objecte. &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 mireu 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 &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 de fer una ullada a quins patrons són llistats aquí per introduir-los en el fitxer `.cvsignore` en la vostra carpeta inici.

### Més informació i suport

- &CVS; té 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 de CVS en &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 Devenvolupament de codi obert amb &CVS;. Al Voltant 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;.

- Per acabar però no menys important, hi ha una &cervisia; llista de correu (amb poca activitat).

### Referència d'ordres

#### El menú fitxer

Fitxer Obre carpeta local...

  Obre una carpeta local en la finestra principal. Mireu .

Fitxer Carpetes locals recents

  Obre una de les carpetes local que s'ha usat 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. Mireu .

&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. Mireu .

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

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

# Fitxer Publica...

  Us permet publicar els fitxers seleccionats. Mireu .

Ins Fitxer Afegeix al repositori...

  Us permet afegir els fitxer seleccionats al repositori. Mireu .

Fitxer Afegeix binari...

  Us permet afegir els fitxer seleccionats al repositori com a binaris (`cvs add`-kb``). Mireu .

Supr Fitxer Elimina del repositori...

  Us permet eliminar fitxers del repositori. Mireu .

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

&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. Mireu .

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

  Mostra les diferències entre el fitxer seleccionat en la carpeta local i la darrera revisió que heu actualitzat (BASE) Mireu .

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

  Mostra les diferències entre el fitxer seleccionat en la carpeta local i la darrera revisió que heu actualitzat (BASE). Mireu .

Visualitza Últims canvis...

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

Visualitza Historial...

  Mostra l'historial del &CVS; retornat pel servidor. Mireu .

Visualitza Oculta tots els fitxers

  Determina si només es mostren carpetes en la vista d'arbre principal. Mireu .

Visualitza Oculta els fitxers sense modificar

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

Visualitza Oculta els fitxers eliminats

  Determina si els fitxers eliminats s'oculten en la vista d'arbre principal. Mireu .

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 d'arbre principal. Mireu .

Visualitza Oculta les carpetes buides

  Determina si les carpetes sense entrades visibles s'oculten en la vista d'arbre principal. Mireu .

Visualitza Desplega l'arbre de fitxers

  Obre totes les branques en l'arques de fitxers perquè pugueu veure tots el fitxers i les carpetes. Mireu .

Visualitza Plega l'arbre de fitxers

  Tanca totes les branques en l'arbre de fitxers. Mireu .

#### El menú avançat

Avançat Etiqueta/branca...

  Etiqueta o embranca els fitxers seleccionats. Mireu .

Avançat Elimina etiqueta...

  Elimina una etiqueta donada dels fitxers seleccionats. Mireu .

Avançat Actualitza a etiqueta/data...

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

Avançat Actualitza a HEAD...

  Proporciona els fitxers seleccionats a la seva revisió HEAD respectiva. Mireu .

Avançat Fusiona...

  Fusiona ja sigui una branca especificada o les modificacions entre dos etiquetes en els fitxers seleccionats. Mireu .

Avançat Afegeix vigilant...

  Afegeix un vigilant per a un grup d'esdeveniments pels fitxers seleccionats. Mireu .

Avançat Elimina vigilant...

  Elimina un vigilant per a un grup d'esdeveniments dels fitxers seleccionats. Mireu .

Avançat Mostra els vigilants

  Llista els vigilants dels fitxers seleccionats. Mireu .

Avançat Edita els fitxers

  Executa`cvs edit` en els fitxers seleccionats. Mireu .

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

  Executa`cvs unedit` en els fitxers seleccionats. Mireu .

Avançat Mostra els editors

  Executa`cvs editors` en els fitxers seleccionats. Mireu .

Avançat Bloqueja els fitxers

  Bloqueja els fitxers seleccionats. Mireu .

Avançat Desbloqueja els fitxers

  Desbloqueja els fitxers seleccionats. Mireu .

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

  Crea un pedaç a partir de les modificacions a la vostra carpeta local. Mireu .

#### El menú repositori

Repositori Crea...

  Obre un diàleg que us permet crear un nou repositori local. Mireu .

Repositori Obtenir...

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

Repositori Importa...

  Obre un diàleg que us permet importar un paquet en el repositori. Mireu .

Repositori Repositoris...

  Configura una llista dels repositoris que soleu utilitzar i com accedir-hi. Mireu .

#### El menú Arranjament

Arranjament Mostra barra d'eines

  Determina si es visualitza la barra d'eines.

Arranjament En actualitzar crea les carpetes

  Determina si durant les actualitzacions es crearan les carpetes que no hi eren abans a la carpeta local (opció `-d` a `cvs update`).

Arranjament En actualitzar elimina les carpetes buides

  Determina si durant les actualitzacions s'eliminaran les carpetes buides de la carpeta local (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.

Arranjament Configura dreceres...

  Obre un diàleg per a configurar les dreceres.

Arranjament Configura barres d'eines...

  Obre un diàleg per a configurar les barres d'eines del &cervisia;.

Arranjament Configura &cervisia;...

  Obre un diàleg per a personalitzar el &cervisia;.

#### El menú d'ajuda

&help.menu.documentation;

A part dels elements del menú Ajuda estàndards del &kde; descrits més amunt, teniu aquesta entrada del menú addicional:

Ajuda Manual de CVS

  Obre les pàgines d'informació de &CVS; en el sistema d'ajuda del &kde;.

## Crèdits i llicències

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 de la documentació: Manuel Tortosamanutortosa@gmail.com

&underFDL; &underGPL;