Manual de Cervisia

# Manual de Cervisia

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

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

Tradutor do proxecto Trasno: Marce Villarino
Revisión 3.1.1 (2008-09-08)

Copyright © 1999, 2000, 2001, 2002 Bernd Gehrmann

Copyright © 2004 Carlos Woelz

Aviso Legal

Cervisia é unha interface gráfica para CVS.

Lista de Figuras

2.1. Unha captura de pantalla do diálogo de Configuración do aceso aos repositorios de Cervisia
2.2. Unha ilustración do diálogo de importación de Cervisia
2.3. Unha ilustración do diálogo de obtención de Cervisia
2.4. Unha ilustración da vista principal de Cervisia
3.1. Unha ilustración do menú contextual de Cervisia
3.2. Unha ilustración do diálogo de entrega de Cervisia
3.3. Unha ilustración do diálogo de resolución de Cervisia
4.1. Unha ilustración do diálogo de diferenzas de Cervisia
4.2. Unha ilustración do diálogo de parches de Cervisia
4.3. Unha ilustración do diálogo de anotacion de Cervisia
4.4. Unha ilustración do diálogo de examinar os rexistos de Cervisia
4.5. Unha ilustración do diálogo de historial de Cervisia
5.1. Unha ilustración do diálogo de actualizar para a marca de Cervisia

Capítulo 1. Introdución
Introdución

# Capítulo 1. Introdución

Cervisia é unha interface gráfica para o control de versións. O propósito é soportar CVS e outros programas de control de versións cunha interface unificada, fornecendo visores para a resolución de conflitos, diferenzas e historial, estado dos ficheiros da copia de traballo, e soporte para a maioría das funcións do control de versións. Pode obter Cervisia compilando o módulo kdesdk ou instalando o paquete kdesdk que forneza a súa distribución. Na actualidade só está soportado CVS, pero poden integrarse outros sistemas de control de versións no futuro.

Un sistema de control de versións é unha ferramenta para rexistar, xestionar e distribuir diferentes versións de ficheiros. CVS é un sistema de control de versións. Permítelle partillar con facilidade as súas modificacións, xa que cada un dos contribuíntes pode traballar na súa copia local ao mesmo tempo, sen temor a sobrescreber as modificacións dos outros. Permite recuperar versións pasadas (útil para a xestión de erros), a criación de gallas (para o desenvolvimento experimental ou para versións do código) e máis funcionalidades.

O repositorio principal polo xeral contén un proxecto colaborativo (comercial ou non), pero pode tirarlle proveito ás funcionalidades de control de versións de CVS mesmo para proxectos persoais. É fácil configurar un repositorio local, e terá trazabilidade para mudanzas que provocasen un erro, reverter mudanzas, evitar perdar acidentais de información, etc..

O repositorio contén os ficheiros do proxecto, e cada contribuínte mantén a súa propia copia local, chamada copia de traballo ou borrador de traballo; entón cada un pode engadir as súas propias modificacións ao repositorio principal (un proceso chamado "entrega") e/ou actualizar a súa propia copia para reflectir os cambios recentes feitos por outros contribuíntes.

Capítulo 2. Comezando
Comezando

# Capítulo 2. Comezando

## Aceder ao Repositorio

Nesta sección, mostraremos como usar as funcionalidades básicas do sistema de control de versións mediante Cervisia para obter módulos do repositorio e traballar con eles. Para facer isto, deberá ter aceso ao repositorio como cliente, o que implica que alguén (probabelmente o administrador do repositorio CVS) lle deu unha conta no servidor. Opcionalmente, pode criar un repositorio local para o seu propio proxecto.

### Axuda

Se prevé desenvolver un proxecto complexo, é boa idea usar as funcionalidade do CVS, mesmo se é o único desenvolvente. Pode facer todas as modificacións na copia de traballo, e usar Cervisia (ou outra ferramenta de CVS) para actualizar e entregar. Deste xeito, terá a capacidade de coñecer que mudanza causou un erro, reverter cambios evitar perdas acidentais de informacio, etc.. Se usa Cervisia, criar un repositorio local é sinxelo.

Procedimento 2.1. Criar un repositorio local

1. Abra o diálogo Criar un repositorio novo (cvs init) escollendo Repositorio → Criar....

2. Press the ... button to select the folder where you want to create the repository, or enter its location in the text box. For instance, if you want to place the repository in the `/home/user` folder, and to name it `cvsroot`, you should type `/home/user/cvsroot` in the text box, or select the `/home/user` folder using the file picker, and add `cvsroot`.

3. Confirme a operación premendo no botón OK. Cervisia criará e inicializará o novo cartafol de repositorio.

4. Agora pode importar o seu traballo actual ao repositorio, ou simplesmente criar un cartafol no repositorio para simplesmente iniciar un novo módulo desde cero.

Cervisia oferece unha interface integrada para xestionar todos os seus repositorios, o diálogo Configurar o aceso aos repositorios. Para mostralo, escolla o ítem do menú Repositorio → Repositorios....

Figura 2.1. Unha captura de pantalla do diálogo de Configuración do aceso aos repositorios de Cervisia

Hai varios métodos de aceder a un repositorio CVS. Pode facelo mediante autenticación por contrasinal (:pserver:), shell cifrada (mediante :ext:), repositorio local (:local:), etc.. O formato para a localización do repositorio é (os ítens opcionais aparecen entre corchetes):

`[:método:][[usuario][:contrasinal]@]servidor[:[porto]]/rota/ao/repositorio`

Non sempre son precisos todos estes ítens (usuario, contrasinal, servidor, porto) para aceder ao repositorio. A información requerida depende do método de aceso que use, que pode ser clasificado como segue:

Local

  O método de aceso local é que CVS usa por omisión. Polo tanto, é opcional engadir o :local: á localización do servidor, pode escreber simplesmente a rota ao cartafol onde está o repositorio CVS, e será acesíbel desde o seu ordenador, como `/rota/ao/repositorio` ou cun exemplo real `/home/cvs`.

  Pode estar fisicamente nun disco montado mediante NFS, pero este é un detalle sen importancia. Se criou un repositorio local, a localización será simplesmente a rota a el.

rsh

  A localización do repositorio é algo do estilo de `:ext:usuario@maquina.url.org:/rota/ao/repositorio`.

  Este método requere que teña unha conta de usuario no servidor (no exemplo, `maquina.url.org`) e que use unha shell remota para a comunicación. Por omisión, CVS usará rsh, porén hai tempo que rsh é considerada insegura, e polo xeral xa foi substituída por ssh.

  Se desexa usar ssh, debe configurar a variábel de entorno $`CVS_RSH` como ssh cando use o cliente cvs. Cervisia fai isto facilmente.

  Lembre que Cervisia non pode responder as posíbeis peticións de contrasinais que faga o servidor. Debe asegurarse de que o aceso remoto funciona sen pedirlle o contrasinal. Con rsh sen parchear, isto pode facerse por exemplo criando un ficheiro `.rhosts` no seu cartafol inicial cunha lista de servidores autenticados (consulte a páxina de manual de rsh).

  With ssh, it can be achieved by copying your public key located in the file `identity.pub`, located in the `$`HOME`/.ssh/` folder to the server. In this case, the key must not be encrypted with a passphrase (see the ssh manpage and the CVS/SSH FAQ on SourceForge). If you are unsure about these issues, ask your system administrator.

pserver

  A localización do repositorio será como `:pserver:usuario@maquina.url.org:/rota/ao/repositorio`

  Este método acede ao servidor mediante un protocolo especial cunha autenticación relativamente feble (`pserver` significa autenticación con contrasinal). Antes de que poda usar un servidor destes, precisará un nome de usuario e un contrasinal dado polo administrador do servidor CVS, e deberá autenticarse. Lembre que o seu nome de usuario do CVS para a autenticación por contrasinal non ten porque ser o do sistema. Antes de aceder ao servidor CVS, deberá autenticarse.

  Os proxectos de fontes abertas polo xeral oferecen aceso CVS anónimo ás súas fontes. Isto significa que pode obter facilmente as últimas fontes, modificar e criar parcher contra o repositorio sen pedir unha conta CVS. Como regra xeral, o CVS anónimo usa autenticación por contrasinal (:pserver:), e é un repositorio de só leitura, no que non se permite entregar directamente os seus cambios.

Se coñece o método de aceso e a localización do repositorio, poderá engadilo á lista de repositorios de Cervisia:

Procedimento 2.2. Engadir un repositorio novo

1. Open the Configure Access to Repositories dialog by choosing the Repository → Repositories... menu item.

2. Prema o botón Engadir... para abrir o diálogo Engadir repositorio.

3. Enter the repository location in the Repository: text box. Cervisia will automatically disable the areas of the dialog that are not relevant to the access method you entered.

4. If you are using the ext method to access the repository, enter the remote shell you wish to use (isto é ssh) in the Use remote shell (only for :ext: repositories): text box.

5. Prema OK. Verá na lista de repositorios o que acaba de introducir.

6. If the access method to the repository you just entered is password authentication (pserver), you will need to login before connecting the server. Click the repository on the list to select it, and press the Login... button. Enter your password in the upcoming dialog.

   Se indicou correctamente o contrasinal, a coluna Estado no repositorio pserver mudará de Non autenticado para Autenticado.

7. Prema OK para aplicar as súas modificacións, ou para engadir outra localización á lista. Cervisia guardará tantas localización como queira.

Importar un módulo no repositorio
Importar un módulo no repositorio

## Importar un módulo no repositorio

Nesta sección, veremos como pode pór un proxecto novo no repositorio CVS. Se só quer traballar cun proxecto existente que xa estexa nun repositorio, pode saltar esta sección.

Hai dúas maneiras de pór un proxecto no CVS:

- Importar os ficheiros e cartafoles nun módulo novo, usando o diálogo de importación de Cervisia. Os módulos son os cartafoles superiores na árbore de cartafoles do repositorio CVS, e son usados para separar e organizar os diferentes proxectos de sóftware dentro do repositorio.

- Crie un módulo baleiro e engada os novos ficheiros e cartafoles manualmente. Terá máis control, aínda que probabelmente lle leve algo máis de tempo.

### Importante

Lembre que CVS foi deseñado inicialmente para xestionar ficheiros de texto. Moitas funcionalidades, como a fusión de revisións, a criación de parches nun formato lexíbel, etc., só poden facerse sobre ficheiros de texto. Isto non significa que non poda usar CVS para manter ficheiros binarios, só que terá que indicarlle explicitamente a CVS se é un ficheiro de texto ou un binario. Se declara o tipo errado de ficheiro, terá problemas coa funcionalidade de CVS para eses ficheiros, e poderán acabar corrompidos.

Importar un proxecto (como un módulo novo) ten algunhas vantaxes: importará todos os ficheiros e cartafoles recursivamente, e o módulo será criado automaticamente por si. Isto simplifica a importación de grandes proxectos xa existentes. Porén, ten algunhas desvantaxes: non poderá usar o diálogo de importación de Cervisia para engadir ficheiros a módulos existentes, e pode importar os ficheiros como texto ou como binarios. Pode evitar esta limitación criando un cartafol con ficheiros de só un dos tipos, ou informando de padróns de ficheiros que deben sen ignorados durante o proceso de importación.

For instance, suppose your project contains text files and some PNG images (binary files) only. You can tell CVS to ignore all files with the pattern `*.png` while importing the other files as text, or you can move the images to a separate folder, and then import the remaining files (as text files). Either way, you will have to checkout the newly imported module to a new working copy, copy the missing files and folders to it, add and commit them to the repository to complete the import process.

As an alternative, you can add the files and folders manually, creating an empty module for them. To add an empty module to a repository, just create a new folder in the CVS repository root folder. The name of this new folder will be the name of the module. Checkout the new empty module. Then copy the files and folders to the working copy, add and commit to upload them to the CVS repository.

Figura 2.2. Unha ilustración do diálogo de importación de Cervisia

En Figura 2.2, « Unha ilustración do diálogo de importación de Cervisia » pode ver o diálogo que o axudará a importar un proxecto como un módulo. Para aceder ao diálogo de importación de Cervisia, escolla o ítem do menú Repositorio → Importar....

Repositorio: ❶

  Escrea ou escolla na lista despregábel o nome do repositorio CVS, tamén coñecido como $`CVSROOT`. Debe ter permisos de escrita nel, e o repositorio debe estar correctamente inicializado. Se o repositorio non existe aínda, pode criar un escollendo o ítem do menú Repositorio → Criar....

  A lista despregábel mostra unha lista cos repositorios que introduciu anteriormente co diálogo Configurar o aceso aos repositorios. Se o repositorio é remoto, verifique que funciona a autenticación. Consulte « Aceder ao Repositorio » para máis información.

Módulo: ❸

  O nome do módulo no que guardar o proxecto. Tras a importación, o proxecto poderá ser actualizado con este nome. Consulte « Obter un módulo do repositorio » para máis información. Este tamén é o nome do cartafol correspondente no repositorio.

Cartafol de traballo:

  O cartafol superior do proxecto que quer importar. A importación comeza desde este cartafol e baixa recursivamente.

Marca do distribuidor: ❹

  A marca do distribuidor é usada historicamente para manexar fontes de terceiros. Simplesmente use o seu nome de usuario se non ten nengunha idea mellor. Non importa moito o que indique aquí.

Marca de versión: ❺

  Esta marca tamén é usada historicamente para importar diferentes versións de sóftware de terceiros. Se non está a facer isto, use a palabra `start` ou unha cadea `PROXECTO_1.0` onde `PROXECTO` é o nome do proxecto e `1.0` é o número da versión importada.

Ignorar ficheiros:

  Se preenche este campo, pasaráse unha opción `-l `nomes de ficheiro`` adicional ao comando cvs import. Esta entrada é interpretada como unha lista de padróns de nomes de ficheiro a ignorar, separados por espazo. En xeral, é máis limpo e menos propenso a erro controlar que ficheiros van ao repositorio criando un cartafol que só conteña os ficheiros que desexa importar e comezar desde iso. Porén, esta entrada pode ser útil se o proxecto contén ficheiros que por omisión son ignorados por CVS, isto é ficheiros co nome `core`. En tal caso, simplesmente indique o caracter `!` neste campo: isto sobrescrebe o esquema de ficheiros a ignorar de CVS, consulte « Ficheiros ignorados ».

Comentario: ❷

  Use este campo para rexistrar os comentarios que poda ter acerca da orixe, uso, desenvolvimento, etc. dos ficheiros que está a importar.

Importar como binarios

  Se sinala esta opción, todos os ficheiros serán importados no modo binario, isto é será pasado o argumento `-kb` ao cvs import.

Usar a data de modificación do ficheiro como a de importación

  Se sinala esta opción, a hora da importación será a de modificación do ficheiro no canto de ser a real da importación.

Tras preencher este formulario e confirmar os datos premendo OK, será usado o seguinte comando CVS:

    cvs -d ❶repositorio import -m "❷" ❸módulo ❹marcaDistribuidor ❺marcaVersión

Obter un módulo do repositorio
Obter un módulo do repositorio

## Obter un módulo do repositorio

Agora que difiniu a localización do seu repositorio, e importou os ficheiros iniciais nel, é hora de obter o módulo desde o repositorio CVS, criando a súa copia de traballo.

Tamén debe coñecer o nome da galla ou marca que queira usar.

As gallas dun módulo son versións paralelas do módulo. Un bon exemplo real do uso desta característica é a publicación dun proxecto de sóftware. Tras a publicación dunha versión principal, haberá erros no código que deberán ser corrixidos, pero a xente tamén ha querer engadir novas funcionalidades no programa. É moi difícil facer ambas as cousas á vez porque as novas funcionalidades polo xeral tamén inseren novos erros, co que se fai difícil corrixir os anteriores. Para arranxar esta dificuldade, CVS permítelle criar unha versión paralela, que chamaremos a "versión estábel" onde só se han poder engadir correicións de erros, deixando a galla principal (HEAD) aberta para engadir novas funcionalidades.

As marcas son usadas para sinalar unha versión dun proxecto. CVS sinala unha versión de cada ficheiro coa marca, de tal xeito que cando obteña ou actualice para unha marca en concreto, sempre obterá as mesmas versións dos ficheiros. Deste xeito, e ao contrario do que as gallas, as marcas non son dinámicas: non pode desenvolver unha marca. As marcas son úteis para sinalar publicacións, cambios grandes no código, etc.. Usando as marcas, pode devolver con facilidade o proxecto a un estado anterior, para reproducir e facer o seguimento dos erros, xerar de novo a publicación do código, etc..

Figura 2.3. Unha ilustración do diálogo de obtención de Cervisia

Repositorio:

  O nome do repositorio CVS, tamén chamado ``$CVSROOT``. A lista despregábel mostra unha lista cos repositorios que indicou anteriormente usando o diálogo Configurar o aceso aos repositorios. Se o repositorio é remoto, verifique que funciona a autenticación. Consulte « Aceder ao Repositorio » para máis información.

Módulo:

  O nome do módulo a obter. Se está a traballar cun repositorio xa existente, probabelmente poda obter este nomo do seu administrador de sistema; ou, se é un repositorio de sóftware de fontes abertas, pode obter os nomes dos módulos na páxina web do proxecto. Se quer criar un módulo novo desde cero usando un repositorio local, simplesmente crie un cartafol novo no cartafol raíz do repositorio local. O nome do cartafol será o mesmo que o do novo módulo baleiro.

  Alternatively, if the repository has a ``$CVSROOT`/modules` file, you can retrieve a list of available modules by pressing the Fetch List button.

  Lembre que é posíbel obter calquer subcartafol do módulo, sen obter o resto del. Simplesmente indique tamén a rota ao subcartafol. Por exemplo, se quer obter só o subcartafol `doc/cervisia` do módulo kdesdk, indique `kdesdk/doc/cervisia` neste campo.

Marca de galla:

  O nome da galla ou marca que queira obter. Se deixa este campo en branco, Cervisia obterá a galla principal (HEAD).

Cartafol de traballo:

  The folder under which the module should be checked out. Note that the working copy toplevel folder is named after the module you are retrieving, unless you give it an alternative name in the Check out as: field.

Obter como:

  Isto fará que os ficheiros da copia de traballo que está a ser obtida vaian a un cartafol con outro nome baixo o cartafol de traballo, e non a un cartafol co mesmo nome que o módulo.

Só exportar

  Se sinala esta opción, os ficheiros serán exportados e non obtidos. A exportación obtén unha copia das fontes do módulo sen os cartafoles de administración de CVS. Isto pode ser usado, por exemplo, para preparar o código fonte para ser publicado.

Recursive checkout

  Checkout all files and folders recursively.

A fiestra principal, ver o estado do ficheiro e actualizar
A fiestra principal, ver o estado do ficheiro e actualizar

## A fiestra principal, ver o estado do ficheiro e actualizar

Cando inicia Cervisia, e abre unha copia de traballo mediante Ficheiro → Abrir un borrador de traballo..., poderá ver dúas áreas principais na fiestra principal de Cervisia: a superior é unha vista en árbore (hierárquica) da copia de traballo actual; a do fondo é usada para mostrar os comandos CVS usados por Cervisia para facer o traballo, así como a saída xerada por eses comandos.

Por omisión, Cervisia non mostra os ficheiros contidos nos subcartafoles, polo que terá que premer nos cartafoles que queira ver. Para mostrar todos os ficheiros da copia de traballo, escolla Vista → Expandir a árbore de ficheiros. Para voltar a pechar todos os cartafoles da copia de traballo, escolla Vista → Pechar a árbore de ficheiros.

Segundo a configuración dos seus ficheiros `.cvsignore`, os ficheiros que normalmente non querería incluír no repositorio - tais como ficheiros de código obxecto - non serán mostrados na vista en árbore. Para cada ficheiro, poderá ver o seu estado. Na configuración predeterminada, tras abrir o borrador de traballo, este será "Descoñecido" porque Cervisia retrasa a obtención desta información até que escolla os ficheiros e cartafoles que queira actualizar ou ver eescolla Ficheiro → Actualizar ou Ficheiro → Estado. Con esta forma de traballar, terá disponíbeis as funcionalidades mínimas mesmo se non ten unha conexón permanente co servidor CVS.

Figura 2.4. Unha ilustración da vista principal de Cervisia

The commands in the File menu usually act only on the files which you have marked. You may also mark folders. Now choose File → Status or press F5. Cervisia issues a

    cvs update -n nomes dos ficheiros

para obter información do estado dos ficheiros marcados. Lembre que Cervisia baixará recursivamente nos subcartafoles só se activase a opción correspondente no menú Configuración. Segundo o estado de cada ficheiro, verá unha entrada na coluna Estado:

Modificado localmente

  Isto significa que modificou o ficheiro se o compara coa versión no repositorio.

Engadido localmente

  Isto significa que o ficheiro non existe no repositorio, senón na súa copia de traballo e que ordenou que fose engadido. A inserción no repositorio só será efectiva cando faga unha entrega.

Eliminado localmente

  Isto significa que ordenou que o ficheiro sexa eliminado, pero que aínda existe no repositorio. A eliminación só se fará efectiva cando faga unha entrega.

Precisa ser actualizado

  Isto é mostrado se no repositorio hai unha versión máis recente do ficheiro, isto é porque outro desenvolvente entregase unha modificación. Polo xeral, ha querer actualizar este ficheiro para ter unha versión ao día no seu cartafol.

Precisa un parche

  Isto é en esencia o mesmo que o anterior; a diferenza é que no caso dunha actualización, o servidor CVS só lle ha transferir un parche no canto de todo o ficheiro.

Precisa ser fusionado

  Indica que é preciso facer unha fusión da revisión do ficheiro na súa copia de traballo coa versión no repositorio. Isto acontece polo xeral se fixo modificacións ao ficheiro mentres outra persoa estregou outras modificacións. Se escolle actualizar, as modificacións no repositorio serán fusionadas no seu ficheiro. No caso de conflitos (isto é se alguén modificou as mesmas liñas que na súa copia de traballo) o novo estado será "Conflito".

Actualizado

  Indica que o ficheiro é idéntido á versión no repositorio.

Conflito

  Isto é mostrado se o ficheiro contén marcas de conflito. Posibelmente actualizase o ficheiro e non resolvese todos os conflitos.

Non está no CVS

  Indica que o ficheiro non está rexistrado no repositorio CVS. Se quer que estexa disponíbel para os demais, debe engadilo ao repositorio. Se non, poida que sexa mellor engadilo ao seu ficheiro `.cvsignore`.

Now that you have got an overview of the current status of the CVS, you may want to do an update. Mark some files (or the root of the folder tree which is equivalent to marking all files in this folder). Now choose File → Update (Of course, you could have chosen this at the beginning of the session). For some of the files the status may change now. Typically, files which had "Needs Patch" or "Needs Update" are updated. So the following new items are possible in the status column:

Actualizado

  Móstrase se o ficheiro foi actualizado desde o repositorio.

Parcheado

  Indica que o servidor CVS enviou un parche para este ficheiro e que foi aplicado con éxito. Se o parche non fose aplicado satisfactoriamente debido a que aparecesen conflitos entre as súas modicacións es as que outro desenvolvente entregase no repositorio, o estado sería Conflito.

Talvez se decate de que segundo o estado do ficheiro, a súa liña terá unha cor diferente. As cores son escollidas para reflectir a prioridade do estado. Por exemplo, un ficheiro cun conflito estará sinalado en vermello para mostrar que debe resolver os conflitos antes de que poda continuar a traballar no ficheiro. Se o seu cartafol contén un número grande de ficheiros, pode perder a vista xeral. Para obter información máis resumida acerca de cais ficheiros teñen un estado inusual, prema no cabezallo da coluna Estado. A lista de ficheiros será ordenada pola prioritade, polo que ha ter a información importante no cume da lista. Para voltar á ordenación alfabética, prema no cabezallo da coluna Nome do ficheiro.

Capítulo 3. Traballar cos ficheiros
Traballar cos ficheiros

# Capítulo 3. Traballar cos ficheiros

All commonly used CVS functionality is directly available in Cervisia's main view. Commands usually act on several files at once, namely all which currently selected. If the selection includes folders, its interpretation depends on the settings made under the Settings menu. For example, if Settings → Commit & Remove Recursively is checked and you choose File → Commit... while a folder is selected, then all files in the tree under that folder are committed. Otherwise, only the regular files in the folder itself are affected.

Figura 3.1. Unha ilustración do menú contextual de Cervisia

The most used actions are also available by right clicking the files in the tree view, through the context menu. Figura 3.1, « Unha ilustración do menú contextual de Cervisia » shows Cervisia's main window context menu.

You can simply edit a file by double-clicking on it or selecting it and pressing Intro. This starts the default application that handles that file type (the default application for each file type is a KDE wide setting). If the default application is not the one you want to use, you can right click the file and choose the Edit With submenu, and select one of the other applications that handle that file type.

## Engadir ficheiros

Para engadir ficheiros a un proxecto deben darse dous pasos: primeiro, os ficheiros deben ser rexistrados en CVS, con outras palabras, engadidas ao repositorio. Isto é preciso, pero non de abondo. Para poder pór realmente os ficheiros no repositorio, debe entregalos. Este procedimento ten unha vantaxe importante: pode entregar os ficheiros xunto con modificacións a outras partes do proxecto. Cando fai isto, é sinxelo ver (isto é nos correos de entrega) que todas as mudanzas forman parte dun todo.

Para facer isto, marque na vista principal de Cervisia todos os ficheiros a engadir. Logo, escolla Ficheiro → Engadir ao repositorio..., ou prema co botón dereito nos ficheiros marcados e escolla Engadir ao repositorio.... Mostrarase o diálogo Engadir ao CVS, cunha listaxe dos ficheiros marcados, pedindo confirmación. Prema OK.

Cervisia enviará un comando

    cvs add nomes dos ficheiros

Se a operación rematou con éxito, a coluna de estado deberá dicir "Engadido ao repositorio" nos ficheiros engadidos.

### Atención

CVS non foi deseñado para fornecer control de revisións para ficheiros binarios. Por exemplo, polo xeral fusionar ficheiros binarios carece de sentido. Ademais, por omisión CVS fai expansión de palabras chave (isto é na cadea `$Revisión: 1.6 $`) cando entrega un ficheiro. Nos ficheiros binarios, tais substitucións poden corromper o ficheiro e inutilizalo.

Para deshabilitar este comportamento, debe entregar ficheiros binarios (ou outros ficheiros, como Postscript ou imaxes PNG) mediante a opción Ficheiro → Engadir como binario.... Aparecerá o diálogo Engadir ao CVS, listando os ficheiros binarios que sinalou, e pedirá confirmación. Prema OK.

Cervisia enviará un comando

    cvs add -kb nomes dos ficheiros

Eliminar ficheiros
Eliminar ficheiros

## Eliminar ficheiros

Like adding files, removing files is done in two steps: First, the files have to be registered as removed by choosing File → Remove From Repository... or right clicking the marked files and choosing Remove From Repository... from the context menu. The CVS Remove dialog will appear, listing the files you marked, and asking for confirmation. Press OK. Cervisia issues the command

    cvs remove -f nomes de ficheiro

Tras iso, esta modificación ao borrador de traballo debe ser entregada, posibelmente xunto con outras modificacións ao proxecto.

### Nota

O comando de riba só funcionará se o ficheiro está actualizado. En outro caso, obterá unha mensaxe de erro. Este comportamento é lóxico: Se modificou o ficheiro, ou se outra persoa o modificou, primeiro debe verificar que realmente o queira desbotar.

Engadir e borrar cartafoles
Engadir e borrar cartafoles

## Engadir e borrar cartafoles

Folders are handled fundamentally different from ordinary files by CVS. They are not under revision control, isto é you cannot tell which folders existed in the project at a certain time. Furthermore, folders can never be explicitly removed (except by removing them directly in the repository).

Como sucedáneo, CVS segue o convenio de que un cartafol é "non-existente" nunha versión do proxecto se está vacío. Este convenio pode reforzarse mediante a opción `-P` en cvs update e cvs checkout. Esta opción pode configurarse no menú Configuración → Limpar os cartafoles vacíos ao actualizar.

A folder can be added to the repository choosing File → Add to Repository... or right clicking the marked folder and choosing Add to Repository... from the context menu. Note that in contrast to adding files, adding folders does not require a commit afterwards. Cervisia issues the command

    cvs add nome do cartafol

Entregar ficheiros
Entregar ficheiros

## Entregar ficheiros

Cando teña feito mudanzas de abondo na súa copia de traballo, e queira que os outros desenvolventes teñan aceso a elas, debe entregalas. Cunha entrega, porá as súas versións dos ficheiros modificados como novas revisións no repositorio. Cando máis tarde un desenvolvente faga unha actualización, obterá estas modifacións para a súa copia de traballo.

In order to commit a couple of files, select them in Cervisia's main view and choose File → Commit... or right click the marked files and choose Commit... from the context menu.

Figura 3.2. Unha ilustración do diálogo de entrega de Cervisia

Aparecerá un diálogo que lle mostra unha lista dos ficheiros escollidos na parte de riba e unha mensaxe de rexisto en baixo. Cervisia axúdao de varias maneiras a atopar unha mensaxe de rexisto con significado: primeiro, na lista de ficheiros pode facer duplo-click nun ficheiro ou premer Intro para ver as modificacións que lle fixo ao ficheiro. Segundo, daralle unha lista das mensaxes de rexisto que uso previamente nunha lista despregábel. Terceiro, este diálogo está integrado no editor do ChangeLog de Cervisia que se descrebe noutra sección. Cando remate o diálogo, o comando

    cvs commit -m mensaxe nomes dos ficheiros

será enviado.

### Nota

Un erro frecuente que se pode atopar ao entregar é Up-to-date check failed. Isto indica que outra persoa entregou modificacións no repositorio desde a última vez que actualizou; ou, máis tecnicamente, que a súa revisión `BASE` non é a máis nova desta galla. Neste caso, CVS rexeitará fusionar as súas modificacións no repositorio. A solución é actualizar, resolver caisquer conflitos e entregar de novo. Por suposto, se está a traballar nun proxecto de sóftware, será bon se verifica que o programa aínda traballa despois de que actualice - despois de todo, poden aparecer interaccións mas entre as súas modificacións e as de outros, que estraguen o código.

### Nota

Outro erro frecuente xera a mensaxe de erro Sticky tag 'X' for file 'X' is not a branch. Isto acontece se tenta entregar un ficheiro que antes levou a unha certa revisión ou marca mediante o comando

    %cvs update -r X

(isto é usado isto é polo ítem de menú Avanzado → Actualizar para Marca/Data...). Neste caso, a marca no ficheiro é pegoñenta, isto é as actualizacións non o levan para a revisión máis nova na galla. Se quer entregar revisións para a galla, deberá actualizar para a marca da galla antes de facer novas entregas.

With Cervisia, it is quite easy to maintain a ChangeLog file that is compliant with the format laid out in the GNU coding guidelines. To use it, choose File → Insert ChangeLog Entry.... If a file with the name `ChangeLog` exists in the toplevel folder of your sandbox, this file will be loaded and you have the possibility to edit it. To this end, at the top of the file, an entry with the current date and your user name (which can be configured as described in « Xeral ») is inserted. When you are finished the dialog can be closed by clicking OK, the next commit dialog you open will have the log message set to the message you last entered in the ChangeLog.

Resolver conflitos
Resolver conflitos

## Resolver conflitos

Poden acontecer conflitos sempre que teña feitas modificacións nun ficheiro que tamén teña sido modificado por outro desenvolvente. O conflito será detectado por CVS cando actualice o ficheiro modificado; CVS tentará nese instante fusionar as modificacións entregadas polo outro desenvolvente na súa copia local. A fusión fallará as modificacións do outro se sobrepoñen en parte do ficheiro coas súas, e o servidor CVS enviará unha mensaxe de erro.

Na vista principal de Cervisia, os ficheiros con conflitos son indicados co texto "Conflito" na coluna de estado e cunha cor vermella. É traballo seu resolver estes conflitos antes de que poda entregar o ficheiro. CVS rexeitará a entrega que caisquer ficheiros con conflitos até que teñan sido editados. Desde a vista principal, pode resolver conflitos do xeitos tradicional: faga duplo-click no ficheiro en cuestión e edíteo co seu editor favorito.

CVS sinala as modificacións en conflito con marcas polo ficheiro, da seguinte maneira:

    <<<<<<<
    Modificacións na súa copia de traballo
    =======
    Modificacións no repositorio
    >>>>>>> numero_de_revisión

You should replace this whole block with the new merged version. Of course, you have a great amount of freedom when resolving a set of conflicts: for each conflict you can decide to take one of the two alternative versions. You can also decide that both approaches are broken and rewrite a whole routine or the complete file from scratch.

Fortunately, Cervisia offers a nicer interface for handling these conflicts. This does not mean that you will never need to manually edit the files, but at least can eliminate the need to do so for the trivial conflict resolution. To use Cervisia's CVS Resolve dialog choose File → Resolve... or right click the marked file and choose Resolve... from the context menu.

Figura 3.3. Unha ilustración do diálogo de resolución de Cervisia

No nume do diálogo, verá A súa versión (A) do ficheiro no lado esquerdo e a versión no repositorio, A versión no repositorio (B), á dereita. As diferenzas entre ambas as dúas estarán sinaladas en vermello. Baixo estas dúas versión, poderá ver a Versión fusionada. A versión fusionada reflicte como irá quedar esa sección na súa copia de traballo se preme o botón Guardar.

Pode ir cara tras e diante entre os conflitos premendo << e >>. Abaixo, na parte do medio, pode ver que sección é a actualmente marcada. Por exemplo, `2 de 3` significa que está na segunda sección en conflito dun total de 3.

Agora pode decidir sección a sección que versión quer ter no ficheiro fusionado. Se preme A, escollerá a súa versión. Se preme B escollerá a versión no repositorio. Se preme A+B engadirá ambas as dúas versión, e a súa irá primeiro. B+A fai o mesmo, pero na outra orden: primeiro a versión do repositorio, e logo a súa.

Se non está satisfeito con nengunha destas versión, prema Editar para abrir un editor de texto onde poderá editar a sección. Cando remate, prema OK para voltar ao diálolo Resolución de CVS e continuar resolvendo conflitos. Verá a sección que acaba de editar na Versión fusionada, coas súas modificacións.

Para guardar as súas modificacións, sobrescribindo a versión da copia de traballo, prema Guardar. Lembre que isto guardará as escollas non só na versión que estexa a ver, senón todas as seccións no ficheiro. Se quer guardalo noutro ficheiro, prema Guardar como.... Prema Pechar para sair do diálogo. Se pecha sen guardar anter, as modificacións serán perdidas.

Capítulo 4. Obter información acercca de ficheiros e criar parches
Obter información acercca de ficheiros e criar parches

# Capítulo 4. Obter información acercca de ficheiros e criar parches

## Ollando as diferenzas entre revisións

Hai varios sitios en Cervisia onde pode pedir unha fiestra que mostre as diferenzas entre revisións dun ficheiro:

- Na fiestra principal, pode escoller Vista → Diferenzas co Repositorio (BASE).... Está baseado no comando cvs diff e móstralle as diferenzas entre a versión no seu borrador de traballo e a versión para a que actualizou por última vez (tamén coñecida como `BASE`). Isto é particularmente útil xusto antes de entregar un ficheiro, para poder escoller unha mensaxe de rexisto apropriada.

- Pode ver as diferenzas entre a versión no seu borrador de traballo e a versión na galla principal de desenvolvimento (tamén chamada `HEAD`) mediante Vista → Diferenzas co repositorio (HEAD)....

- Pode ver as diferenzas entre as dúas últimas revisión do ficheiro escollido mediante Vista → Última modificación....

- You can access the Difference to Repository (BASE)..., Difference to Repository (HEAD)... and Last Change... menu items from the main view context menu, by right-clicking the file you want to view.

- No diálogo que se mostra cando envía un conxunto de ficheiros, pode pedir unha fiestra de diferenzas escollendo o nome dun ficheiro na lista de selección, tanto facendo duplo-click nel como premendo Intro. Isto é similar a usar Vista → Diferenzas co Repositorio (BASE)... co mesmo ficheiro na vista principal.

- No diálogo de Examinar o rexisto, pode marcar dúas revisións dun ficheiro e pedir un diálogo que mostre as diferenzas entre ambas as dúas (consulte « Examinar os rexistos do CVS »).

Como é de esperar, Cervisia non se limita a emborcar a saída do comando diff na súa terminal, senón que lle mostra unha vista gráfica como se ve en Figura 4.1, « Unha ilustración do diálogo de diferenzas de Cervisia ».

Figura 4.1. Unha ilustración do diálogo de diferenzas de Cervisia

O texto no diálogo é unha variante mellorada do que dá o comando diff coa opción `-u`. Pode ver as versión diferentes en dúas fiestras, coas liñas dispostas de tal xeito que poda facer unha comparación lado-por-lado. Isto significa que onde se engadise ou eliminase texto, a fiestra respectiva mostra liñas vacías co marcador `+++++` á esquerda. En todos os casos, pode ver o número de liña na coluna da esquerda.

Na segunda coluna da fiestra da direita, pode ver que tipo de modificación foi feita. Os tipos posíbeis son `Engadido`, `Eliminado` e `Modificado`. As liñas respectivas están coloridas de azul, verde e vermello. Móstrase unha imaxe comprimida dos marcadores de cores no centro do diálogo. Deste xeito, pode ter unha visión global rápida das modificacións no ficheiro. Tamén pode usar a posición das rexións coloridas na imaxe comprimida como unha pista cando use as barras de desprazamento.

Polo xeral, as barras de desprazamento das fiestras dereita e esquerda están sincronizadas, isto é se despraza na fiestra da esquerda, a da dereita desprazarase o mesmo. Pode alterar isto sinalando a opción Sincronizar as barras de desprazamento.

Para máis información acerca de como personalizar o diálogo de diferenzas, consulte « Visor de diferenzas ».

Criar parches
Criar parches

## Criar parches

En ocasións ha querer oferecer as súas modificacións para revisión, antes de entregalas, ou se non ten aceso de escrita ao repositorio (polo que non pode facer entregas). CVS oferece formatos estándar para partillar as modificacións na súa copia de traballo, para que outras persoas podan revisar as súas modificacións, comprobalas na súa copia de traballo e aplicalas ao repositorio CVS. Un ficheiro que conteña estas diferenzas é o denominado parche, e é xerado polo comando cvs diff, do mesmo xeito que as diferenzas en « Ollando as diferenzas entre revisións ». Compartir parches no canto de conxuntos de ficheiros requere menos ancho de banda, e os parches son máis faceis de xestionar, xa que pode enviar un só parche coas diferenzas de varios ficheiros das fontes.

Cervisia gives you access to this feature by choosing Advanced → Create Patch Against Repository....

### Importante

The Create Patch Against Repository... action creates a patch with all modifications in all files in your working copy (sandbox) against the `BASE` repository. Therefore, the selection of files in the main view does not affect the patch that will be generated.

Another possibility is to select one file in the main view and choose Browse Log... from the View menu or right click the marked file and choose Browse Log... from the context menu, in order to open the Browse log dialog. Now, select the version you want to create a patch against, as revision "A" and press the button Create Patch.... This will generate a patch with the differences between the marked file in your working copy and the version selected as revision "A".

Antes de xerar o parche, Cervisia mostra un diálogo que lle permite configurar o formato de saída.

Figura 4.2. Unha ilustración do diálogo de parches de Cervisia

Formato de saída

  Hai tres formatos de saída disponíbeis:

  Normal: un formato que pode ser usado para que o editor ed faga automaticamente outra copia do ficheiro vello contra o novo ficheiro. Neste formato os caracteres < e > sinalas as modificacións e non hai información de contexto.

  Unificado: o formato máis usado para partillar os parches. Este formato usa liñas de contexto ademais dos números de liña para rexistar as diferenzas. Isto fai que o proceso de aplicar os parches sexa máis robusto. Este formato mostra as diferenzas dun xeito compacto e lexíbel, cun cabezallo para cada ficheiro involucrado, e seccións separadas (chunks) para cada diferenza. As liñas de contexto disponíbeis facilitan o ler as modificación. No formato unificado, os caracteres + e - sinalan as modificacións.

  Contexto, que mostra a mesma información que no formato unificado, pero dun xeito menos compacto. Neste formato, os caracteres ! sinalan as modificacións.

Número de liñas de contexto:

  Indique aquí o número de liñas de contexto para os formatos unificado e contexto. Esta opción non está disponíbel para o formato normal, xa que este non rexita esta información. Máis información de contexto facilita a leitura da saída bruta, e fai máis precisa a aplicación do parche, pero aumenta o tamaño do parche. Recoméndase usar polo menos dúas liñas de contexto para un funcionamento correcto do parche.

Opcións a ignorar

  Indique aquí as modificacións que non deben ser consideradas como diferenzas ao xerar o parche.

Tras indicar o formato de saída, Cervisia xerará o parche e mostrará o diálogo Guardar como. Indique neste diálogo o nome e localización do ficheiro.

Visualización dunha vista anotada do ficheiro
Visualización dunha vista anotada do ficheiro

## Visualización dunha vista anotada do ficheiro

Mediante o comando cvs annotate, CVS fornece a posibilidade de ollar - para cada liña do ficheiro - quen foi a última persoa en modificar a liña. Esta vista pode ser útil para adiviñar que introduciu unha modificación no comportamento do programa ou a quen se lle debe perguntar acerca dalgún cambio ou erro no código.

Cervisia gives you access to this feature, but it further enriches the information in an interactive way. You obtain an annotate view by choosing View → Annotate.... Another possibility is to press the button Annotate in the Browse log dialog, in which you can select which version of the file you want to display. In Figura 4.3, « Unha ilustración do diálogo de anotacion de Cervisia » you can see a screenshot of the dialog.

Figura 4.3. Unha ilustración do diálogo de anotacion de Cervisia

In the annotate dialog, you see in a window the latest version of the selected file (or the revision "A" version, in case you launched the annotate dialog from the Browse log dialog). In the columns before the text, you get some information related to the latest change in each line. In the first column the line number is displayed. In the second column you see the name of the author and revision number. Finally, in the third column you see the actual content of that line.

En consecuencia, cando unha liña lle pareza extrana ou pense que provoque un erro, poderá saber imediatamente quen é o responsábel de tal liña. Pero non só iso, tamén poderá saber por que foi modificada tal liña. Para isto, mova o rato sobre o número de revisión. Entón aparecerá unha axuda que mostrará a mensaxe de rexisto e a data da modificación.

Examinar os rexistos do CVS
Examinar os rexistos do CVS

## Examinar os rexistos do CVS

When you mark one file in the main view and choose Browse Log... from the View menu or right click the marked file and choose Browse Log... from the context menu, the CVS Log dialog is shown (if you mark more than one, nothing happens, as Cervisia can only generate and parse the log for one file at a time). This dialog offers functionality that is beyond viewing the file's history. Using it as a version browser you can:

- Ver a revisión, autor, data, galla, mensaxe de entrega, e marcas para cada versión do ficheiro sinalado.

- Ver unha representación gráfica en árbore da ramificación e marcación do ficheiro.

- Ver calquer versión do ficheiro sinalado (coa aplicación por omisión).

- Ver unha vista anotada de calquer versión do ficheiro sinalado

- Ver as diferenzas entre calquer par de versións do ficheiro sinalado, incluíndo pares coa copia actual de traballa do ficheiro.

- Criar parches que conteñan as diferenzas entre calquer par de versións dos ficheiro sinalado, incluíndo pares coa versión actual de traballo do ficheiro sinalado.

Figura 4.4. Unha ilustración do diálogo de examinar os rexistos de Cervisia

Pode escoller consultar o historial tal como é obtido do comando cvs log (Resultado do CVS), como unha Árbore, ou como unha Lista. Por suposto, o que escolla é un asunto de gustos e dependerá da información na que estexa interesado. A árbore é unha representación intuitiva do que foi feito en diferentes gallas polos autores. Como axudas, poderá ver as mensaxes de rexisto correspondentes. A lista pola súa natureza é linear e, polo tanto, non dá unha visión imediata das gallas; aliás, concéntrase noutra información relevante, a data de cada modificación ao ficheiro e a primeira parte da mensaxe de rexisto. A información de saída do CVS é completa, pero longa, e difícil de ler. Para aliviar este problemas, ten a capacidade de procurar o texto na saída do CVS, premendo no botón Procurar....

To obtain more information about a certain revision, you can click on it either in the list or the tree view. The fields in the middle of the dialog are then filled with the complete information provided by cvs log. You can mark two revisions, called "A" and "B", which are relevant if you make use of further features provided by the buttons. Revision "A" can be chosen with the left mouse button, revision "B" with the middle one. In the list view, you can also navigate with with your cursor keys. In order to mark revisions "A" and "B", use the shortcuts Ctrl+A, Ctrl+B, respectively. Using the CVS Output view, you can click on the Select for revision A and Select for revision B to mark the revisions.

Se preme o botón Anotar, mostrarase un diálogo que mostrará o texto do ficheiro pertencente á revisión marcada como "A". Cada liña estará prefixada con información acerca de quen a editou por última vez, e en que revisión o fixo. Pode obter máis información acerca de como ver as versións anotadas en « Visualización dunha vista anotada do ficheiro ».

Se preme no botón Diff, farase unha chamada ao comando cvs diff e obterá un diálogo no que se mostrarán todas as modificacións entre as dúas revisións marcadas. Se marca a revisión "A" pero non a "B", Cervisia xerará as modificacións entre a versión do ficheiro sinalada como revisión "A" e a copia de traballo do ficheiro. Isto permítelle ver as diferenzas entre a súa versión do ficheiro e calquer versión disponíbel no CVS. Para simplificar o ver as modificacións, son usadas diferentes cores para marcar as liñas que foron engadidas, eliminadas ou só modificadas. Pode obter máis información acerca da visualización das diferenzas en « Ollando as diferenzas entre revisións ».

Se preme no botón Criar un parche..., mostrarase un diálogo no que pode indicar as opcións de formato aara xerar un ficheiro que conteña todas as modificacións entre as dúas revisións que están a ser mostradas. Se sinala a revisión "A" pero non a "B", Cervisia xerará as diferenzas entre a versión do ficheiro sinalada como revisión "A" e a copia de traballo do ficheiro. Isto permítelle xerar un parche, ou ficheiro de diferenzas, entre a súa versión do ficheiro e calquer versión disponíbel no CVS. Tras configurar o formato do parche no diálogo, e premer OK, enviarase un comando cvs diff para xerar o ficheiro de diferenzas. Mostrarase un diálogo Guardar como. Indique o nome e localización do parche criado por Cervisia, para poder guardalo. Pode obter máis información acerca de como criar parches, e das opcións de formato do parche en « Criar parches ».

Se preme no boton Ver, Cervisia obterá a revisión sinalada como "A" e mostraraa usando a aplicación por omisión para este tipo de ficheiro.

Prema no botón Pechar para abandonar o diálogo e voltar á vista principal.

Para xerar o rexisto que é a base para o diálogo Rexisto do CVS, Cervisia usará o seguinte comando:

    cvs log nome do ficheiro

Examinar o historial
Examinar o historial

## Examinar o historial

If the used repository has logging enabled, Cervisia can present you a history of certain events like checkouts, commits, tags, updates and releases. Choose History from the View menu, and Cervisia will issue the command

    cvs history -e -a

### Nota

Isto obte o ficheiro completo de rexisto desde o servidor, isto é unha lista dos eventos de todos os usuarios e todos os módulos. Isto pode ser unha cantidade imensa de datos.

Agora pode ollar a lista de eventos, ordenados pola data. Na segunda coluna móstrase o tipo de evento:

- Obtención - O usuario na coluna "Autor" obtivo un módulo

- Marca - Un usuario usou o comando cvs rtag. Lembre que o uso de cvs tag (como fai o comando de Cervisia Avanzado → Marca/Galla...) non se rexista na base de datos do historial. Isto ten motivos históricos (consulte as FAQ de CVS).

- Publicación - Un usuario publicou un módulo. En realidade, este comando é moi pouco usado e de escaso valor.

- Actualización, Eliminado - Un usuario actualizou un ficheiro que foi eliminado no repositorio. En consecuencia, o ficheiro foi eliminado na súa copia de traballo.

- Actualizado, Copiado - Un usuario actualizou un ficheiro. Foi copiada unha nova versión na copia de traballo.

- Actualizado, Fusionado - Un usuario fixo unha actualización dun ficheiro. As modificacións na versión do ficheiro no repositorio foron fusionadas na súa copia de traballo.

- Actualizado, Conflitos - Un usuario fixo unha actualización dun ficheiro, e detectouse un conflito coas súas propias modificacións.

- Entrega, Modificado - Un usuario entregou un ficheiro modificado.

- Entrega, Engadido - Un usuario engadiu un ficheiro e entregouno.

- Entrega, Eliminado - Un usuario eliminou un ficheiro e entregouno.

Figura 4.5. Unha ilustración do diálogo de historial de Cervisia

Pode ordenar a lista con outros criterios premendo no cabezallo apropiado da lista. Para ordenar as entradas do historial nas que estexa interesado, hai varias opcións de filtrado que son activadas mediante opcións:

- Mostrar as entregas - mostranse as entregas

- Mostrar as obtencións - móstranse os eventos de obtención

- Mostrar as criacións de marcas - móstranse os eventos nos que se críe unha marca

- Mostrar outros eventos - mostra os eventos non incluídos nas anteriores opcións

- Só o usuario - mostra só ós eventos provocados por un certo usuario

- Só os ficheiros con nome que concorde con - filtra os nomes dos ficheiros cunha expresión regular

- Only folders matching - filters folder names by a regular expression

Os caracteres especiais das expresións regulares son:

- `x*` concorda con calquer número de aparicións do caracter `x`.

- `x+` concorda con unha ou máis aparicións do caracter `x`.

- `x?` concorda con cero ou unha aparicións do caracter `x`.

- `^` concorda co inicio da cadea.

- `$` concorda co final da cadea.

- `[a-cx-z]` concorda cun conxunto de caracteres, isto é neste caso o conxunto das letras a,b,c,x,y,z.

Capítulo 5. Uso avanzado
Uso avanzado

# Capítulo 5. Uso avanzado

## Actualizar para a Marca, Galla ou Data

As gallas dun módulo son versións paralelas do módulo. Un exemplo real do uso desta funcionalidade é a publicación dun proxecto de sóftware. Tras un lanzamento maior, haberá erros no código que deberán ser corrixidos, pero a xente ha querer engadir novas funcionalidades que polo xeral han introducir novos erros, facendo difícil manexar os anteriores. Para resolver este problema, CVS permítelle criar unha versión paralela, que chamaremos a "galla estábel de desenvolvimento", onde só poderán facerse correicións de erros, deixando a galla principal (HEAD) aberta para engadir novas funcionalidades.

As marcas son usadas para sinalar unha versión dun proxecto. CVS sinala unha versión de cada ficheiro cunha marca, polo que cando obteña ou actualice para unha marca específica, sempre obterá as mesmas versións dos ficheiros; polo tanto, ao contrario cas galla, as marcas non son dinámicas: non pode desenvolver unha marca. As marcas son úteis para sinalar publicacións, grandes mudanzas no código, etc.

Cando estexa a desenvolver ou seguindo o desenvolvimento dun proxecto de sóftware, non ten necesariamente que traballar todo o tempo coa galla principal. Tras unha publicación, pode querer ficar durante un tempo coa versión publicada, para desfrutar da súa estabilidade, corrixir erros, traducir as fontes, etc.. Para todo isto, terá que actualizar para a galla publicada. Todos os seus ficheiro serán actualizados para a última versión dos ficheiros en tal galla. Despois da actualización, todas as súas novas entregas serán enviadas para a nova galla.

Tamén, se quer facer un seguimento dun erro que foi notificado contra o lanzamento marcado anteriormente, CVS oferécelle a posibilidade de obter o sóftware como foi publicado, actualizando para esa marca. Ademais, se quer obter unha versión anterior do proxecto, pode actualizar a súa copia de traballo para unha data concreta. Isto pode ser útil se foi introducido un erro no proxecto entre dúas versión, e ten unha idea acerca de por onde. Cando actualice para unha data ou marce, as versións dos seus ficheiros serán as mesmas que as desa data específicas ou as que teñan esa versión.

### Atención

Antes de actualizar para unha marca ou galla diferente, verifique que entregou todas as súas modificacións na galla na que está a traballar. Se non está preparado para entregar as súas modificación, pero non quer desfacerse delas, non se actualice para a nova galla, xa que pode perder as súas modificacións. Como alternativa, pode facer unha nova obtención, para traballar en paralelo con ambas as dúas versións.

Figura 5.1. Unha ilustración do diálogo de actualizar para a marca de Cervisia

Actualizar para a galla

  Select this option to update to a branch. Enter the name of the branch in the drop down text box (or press the Fetch List button to retrieve the list of branches from the CVS server, and select the one you want in the drop down list).

Actualizar para a marca

  Select this option to update to a tag. Enter the name of the tag in the drop down text box (or press the Fetch List button to retrieve the list of tags from the CVS server, and select the one you want in the drop down list).

Actualizar para a data

  Escolla esta opción para actualizar para a data. No campo de baixo, pode introducir unha ampla variedade de formatos de data. Un formato posíbel é `aaaa-mm-dd` onde `aaaa` é o ano, `mm` é o mes (en número) e `dd` é o día. Outras alternativas son as frases en inglés `yesterday` ou `2 weeks ago`.

### Nota

De actualizarse para unha marca ou data faraas "pegoñentas", isto é non poderá facer modificacións neses ficheiros (a non ser que a marca sexa unha marca de galla). Para voltar para a galla principal, use o ítem de menú Avanzado → Actualizar a HEAD.

The command issued to update to a branch or tag is:

    cvs update -r marca

O comando usado para actualizar para unha data é:

    cvs update -D data

O comando usado para actualizar para a galla principal (HEAD) é:

    cvs update -A

Marcar e Gallar
Marcar e Gallar

## Marcar e Gallar

Aquí falaremos só dos aspeitos técnicos de facer marcas e gallas. Se só é un usuario, e non o administrador do repositorio, probabelmente nunca se atopará con este problema. Porén se é o seu proprio administrador, primeiro debera ler acerca dos aspeitos non técnicos que acompañan ás gallas, para ter unha idea do traballoso e propenso a erros que é manter diferentes gallas dun mesmo proxecto. O apéndice inclui algunhas referencias acerca deste tema.

Facer marcas é algo que fará polo xeral cando se publique, para que en calquer instante pode voltar ao estado do proxecto nalquela época. Ás marcas pónselles un nome que polo xeral é o do proxecto xunto cun número de versión. Por exemplo Cervisia 1.0 está disponíbel na marce `CERVISIA_1_0`. Cervisia obriga a cumplir as estritas regras de CVS acerca dos nomes válidos das marcas. Debe comezar cunha letra e pode conter letras, díxitos, trazos e trazos baixos.

Normalmente, ha querer marcar todo o proxecto (apesar de que CVS tamén lle permite marcar só un subconxunto). Para isto, sinale o cartafol superior na vista e escolla Avanzado → Marca/Galla. Agora indique o nome da marca, prema Intro e xa está.

Criar unha galla non é moito máis difícil: No diálogo de marcas, sinale a opción Criar unha galla con esta marca. Tamén pode eliminar unha marca xa existente: Escolla Avanzado → Eliminar a marca na vista principal.

Outro aspeito de facer gallas é a fusión das modificacións dunha galla na galla actual. Se vai facer isto, escolla Avanzado → Fusionar.... Aparecerá un diálogo que lle dá dúas opcións:

Pode fusionar todas as modificacións feitas nunha galla para a galla actual. Neste caso, sinale a opción Fusionar a partir da galla e indique a galla desde a que queira fusionar. Cervisia executará o comando

    cvs update -j galla

A outra posibilidade é que queira fusionar só as modificacións feitas entre dúas marcas dunha galla. Isto polo xeral acontece cando fusiona varias veces desde a mesma galla para o toro. Neste caso, sinale a opción Fusionar as modificacións e indique (na orden correcta) as dúas marcas relevantese. Isto xerará o comando

    cvs update -j marca 1 da Galla -j marca 2 da galla

Uso de Vixilantes
Uso de Vixilantes

## Uso de Vixilantes

Un vixilante é o nome da funcionalidade de CVS para a notificación aos usuarios do repositorio de caisquer modificacións nun ficheiro ou do inicio da edición dun ficheiro por parte dun desenvolvente. O uso dos vixilantes requere que o ficheiro ``$CVSROOT`/CVSROOT/notify` estexa correctamente configurado. Isto non se explicará aquí; se precisa máis información acerca da configuración desde o ponto de vista do administrador, lea un dos libros citados no apéndice.

O soporte principal dos vixilantes que ten Cervisia son seis ítens de menú.

Para poder engadir un vixilante a un ou varios ficheiros, use Avanzado → Engadir un Vixilante.... No diálogo que aparece, poderá escoller que se lle notifique calquer dos tipos de evento que soporta CVS. Por exemplo, se só quer que se lle notifique a entrega dun ficheiro, sinale as opcións Só e Entregas. Se quer que se lle notifique calquer evento relacionado cos ficheiros sinalados, sinale a opción Todos. O comando usado cando confirme este diálogo é

    cvs watch add -a commit nomes dos ficheiros

ou cunha opción similar, dependendo dos eventos que escollese vixiar.

Se perdeu o interese nalgúns ficheiros, pode eliminar os seus vixilantes para eles. Para isto, use Avanzado → Eliminar o Vixilante.... No diálogo que aparece oferécense as mesmas opcións que no de engadir vixilantes. Cando confirme este diálogo, Cervisia usará o comando

    cvs watch remove nomes de ficheiros

posibelmente cunha opción `-a` para os eventos escollidos.

Finalmente, pode obter unha lista da xente que está a vixilar ficheiros. Escolla Avanzado → Mostrar os vixilantes. Con este ítem de menú acederá ao comando

    cvs watchers nomes de ficheiro

Co uso habitual de CVS, cada desenvolvente traballa por separado no borrador de traballo que obtivo. Cando desexe modificar algún ficheiro, só ten que abrilo e comezar a traballar nel. Ninguén máis saberá do seu traballo até que o ficheiro sexa entregado.

For some developer groups, this is not the preferred model of cooperation. They want to get notified about someone working on a file as soon as he starts with it. This can be achieved by some further CVS commands. Before you start editing a file, select it in Cervisia's main window and choose Advanced → Edit Files. This will execute the command

    cvs edit nomes dos ficheiros

Isto enviará unha notificación a todos aqueles que teñan un vixilante `editar` neste ficheiro. Isto tamén o rexistrará como un editor do ficheiro. Pode obter unha lista de todos os editores dun ficheiro determinado usando Avanzado → Mostrar os editores. Isto é equivalente ao comando

    cvs editors nomes dos ficheiros

An editing session is automatically ended when you commit the affected file. At that moment, an `unedit` notification gets sent out to all people who have registered a respective watch on the file. Of course, sometimes you may not want to commit the file, but abort the editing session and revert to the previous version of the file. This is done by using Advanced → Unedit Files. Note that Cervisia will not ask you for confirmation; that means if you use this menu item, all your work done since you used Advanced → Edit Files will be lost. Precisely, Cervisia uses the command line

    echo y | cvs unedit nomes dos ficheiros

So far, we have only discussed the case where edits and unedits are used voluntarily be the developers. In addition CVS supports a model which enforces the usage of these commands. The responsible command to switch to this model is cvs watch on which we will not explain further because it is mostly used by the administrator of the repository. However, the important point from the developer's point of view is that when the project enforces edits, working copies are checked out readonly. That means you cannot edit a file by default (unless you use tricks like chmod). Only when you use Advanced → Edit Files, the file becomes writable. It is made read-only again when you commit the file or use Advanced → Unedit Files.

A interface do editor de Cervisia tamén o axudará doutro xeito cos proxectos que obriguen a usar vixilantes. Se iniciou un editor nun ficheiro só para leitura facendo un duplo-click nel ou usando Ficheiro → Editar, non será capaz de guardar as súas modificacións. Isto ten un motivo: Sempre que queira modificar un ficheiro, antes debe executar cvs edit, para que toda a xente que estexa a vixiar o ficheiro obteña unha notificación conforme está a traballar nel.

Neste caso, é recomendábel sinalar a opción Configuración → Notificar automaticamente candocomeze a editar se é necesario. Agora, sempre que edite un ficheiro facendo duplo-click nel, Cervisia executará cvs edit antes de lanzar o editor. Entón poderá editar o seu ficheiro como sempre. Cando remate co seu traballo, entregue os seus ficheiros, e os ficheiros entregados serán só para leitura de novo.

Bloqueo
Bloqueo

## Bloqueo

O modelo de desenvolvimento seguido normalmente cando se usa CVS é chamado obtencións sen reserva. Cada desenvolvente ten o seu borrador de traballo onde pode editar ficheiros como lle prouba. Cando use as funcionalidades de vixilancia - como cvs edit, varios desenvolventes poden traballar á vez nos ficheiro. As modificacións feitas por outros desenvolventes serán fusionadas no seu borrador local ao actualizar.

Outros sistemas de control de versións, como RCS e SourceSafe usan un modelo diferente. Cando un desenvolvente desexa editar un ficheiro, débeo trancar. Un ficheiro só pode ser trancado por un desenvolvente á vez. Cando remate de editar o ficheiro, retirase o bloqueo. Por unha banda, con este modelo nunha poden acontecer conflitos. Aliás, dous desenvolventes non poden traballar no mesmo ficheiro á vez, aínda que as súas modificacións non se afecten unhas ás outras. Isto pode ser un atranco. Non imos discutir as vanaxes organizativas de ambos os dous métodos, porén mencionaremos que aínda que CVS ten algún soporte para bloquear, non é o xeito preferido de traballar con CVS. Non debe usar esta funcionalidade a non ser que estexa certo de que o seu xestor do proxecto llo permite.

With Cervisia, you lock files as follows. Select the desired files in the main view. Then choose Advanced → Lock Files. This runs the command

    cvs admin -l nomes dos ficheiros

The reverse effect is achieved by using Advanced → Unlock Files. This runs the command

    cvs admin -u nomes dos ficheiros

Capítulo 6. Personalización de Cervisia
Personalización de Cervisia

# Capítulo 6. Personalización de Cervisia

Cervisia can be customized in various ways to your needs and preferences. Some options which you may want to change regularly are directly available in the Settings menu.

## Xeral

User name for the change log editor:

  Whenever you use the menu item File → Insert ChangeLog Entry..., a new ChangeLog entry is generated with the current date and your username. Normally, it is considered good style to insert your full name and your email address into each of your ChangeLog entries. Cervisia automatically adds the full name and email address entered here.

Path to CVS executable, or 'cvs':

  Aquí pode indicar o nome (ou rota) do programa de liña de comandos cvs. Por omisión, Cervisia usará o executábel de CVS que se atope na súa `$PATH`.

Visor de diferenzas
Visor de diferenzas

## Visor de diferenzas

Número de liñas de contexto no diálogo das diferenzas:

  Para o diálogo de diferenzas, Cervisia usará a opción `-U` co comando diff. Isto permite que diff só mostre un número limitado de liñas arredor de cada rexión con diferenzas (liñas de contexto). Aquí pode indicar o argumento da opción `-U`.

Opcións adicionais para o "cvs diff":

  Aquí pode indicar argumentos adicionais para o comando diff. Un exemplo popular é `-b` que permite que diff ignore as mudanzas na cantidade de espazos en branco.

Ancho do tabulador no diálogo de diferenzas:

  No diálogo de diferenzas, as tabulacións presentes no seu ficheiro ou na saída do comando diff son expandidas para un número fixo de espazos. Por omisión, cada tabulación é remprazada por oito espazos, pero aquí pode indicar un número diferente.

Interface externa para "diff":

  Cando use calquer das funcións que mostran o diálogo de diferenzas, como Vista → Diferenzas co Repositorio..., Cervisia chamará a súa interface interna de diff. Se prefere unha diferente, como Kompare, TkDiff, ou xxdiff, indique aquí o seu nome e rota.

Estado
Estado

## Estado

Ao abrir un borrador de traballo desde un repositorio remoto, inicia un comando Ficheiro->Estado automaticamente

  Se sinala esta opción, o comando Ficheiro → Estado será iniciado automaticamente cando abra un borrador remoto. Este comando pode precisar algún tempo e tamén precisa dunha conexón co servidor dos repositorios remotos (o que o fai inusábel sen conexón).

Cando abre un borrador de traballo desde un repositorio local, inicia automaticamente un comando Ficheiro->Estado

  Se sinala esta opción, iniciarase o comando Ficheiro → Estado sempre que abra un borrador local.

Avanzado
Avanzado

## Avanzado

Tempo tras o que aparece un diálogo de progreso (en ms):

  Case todos os comandos de CVS iniciados nun borrador de traballo que pertenza a un repositorio remoto precisan dunha conexón ao servidor CVS. Isto está afectado por atrasos na conexón de rede ou por unha carga alta no servidor. Por este motivo, cos comandos como Vista → Diferenzas co Repositorio... Cervisia abre un diálogo que indica que o comando aínda está en execución e que lle permite cancelalo. Ademais, este diálogo é usado para mostrarlle as mensaxes de erro procedentes do CVS. Xa que este diálogo pode ser molesto tras un tempo, só se mostra pasado un certo tempo, 4 segundos por omisión. Aquí pode modificar este valor.

Nivel de compresión por omisión:

  O cliente cvs comprime os ficheiros e parches cando son transferidos pola rede. Coa opción da liña de comandos `-z`, pode escoller o nível de compresión. Pode facer que Cervisia use esta opción configurando aquí o nível. O valor que indique aquí será usado só como predeterminado; hai unha opción para cada repositorio disponíbel en Repositorio → Repositorios....

Usar un proceso novo do axente de ssh ou usar outro en execución

  Sinale esta opción se usa repositorios ext (rsh), a shell remota ssh para comunicar cos repositorios e ssh-agent para xestionar as súas chaves.

Appearance
Appearance

## Appearance

Font for Protocol Window...

  Press this button to open the Select Font dialog, to set the font used in the protocol window (this is the window showing the output of the cvs client).

Font for Annotate View...

  Press this button to open the Select Font dialog, to set the font used in the annotate view.

Font for Diff View...

  Press this button to open the Select Font dialog, to set the font used in diff dialogs.

Cores

  Press the colored buttons to open the Select Color dialog, to set the color used for Conflict, Local change, or Remote change, in the main view or Diff change, Diff insertion, or Diff deletion, in Cervisia's built-in diff frontend.

Dividir a fiestra principal en horizontal

  A fiestra principal de Cervisia polo xeral está dividida na vertical nunha parte no cume coa árbore de ficheiro e unha en baixo coa saída de CVS; opcionalmente, pode dispolas en horizontal.

Capítulo 7. Apéndice
Apéndice

# Capítulo 7. Apéndice

## Ficheiros ignorados

Na árbore de ficheiros principal, Cervisia non mostra todos os ficheiros que realmente están ahí. Isto é similar ao que fai cvs e axuda a evitar a confusión que provoca o material non interesante como os ficheiros obxecto. Cervisia tenta imitar o comportamente de cvs tanto como pode, isto é obtén listas de cousas a ignorar das seguintes fontes:

- Unha lista estática de entradas que inclúe cousas como `*.o` e `core`. Para máis detalles, consulte a documentación de CVS.

- O ficheiro ``$HOME`/.cvsignore`.

- A variábel de entorno `$CVSIGNORE`.

- O ficheiro `.cvsignore` do cartafol correspondente.

O propio cvs procura entradas en ``$CVSROOT`/CVSROOT/cvsignore`, pero este é un ficheiro no servidor, e Cervisia debe ser quen de inicarse sen conexón. Se está a traballar cun grupo que prefere usar unha lista de elementos a ignorar localizada no servidor, probabelmente sexa boa idea votarlle un ollo aos padróns que estexan listados aló e copialos no ficheiro `.cvsignore` do seu cartafol persoal.

Información adicional e soporte
Información adicional e soporte

## Información adicional e soporte

- CVS comes with a complete set of documentation in the form of info pages, known as "The Cederqvist". If it is properly installed, you can browse it by typing in `info:/cvs` into the locationbar of Konqueror, or you can just choose Help → CVS Manual in Cervisia. An on-line HTML version of the Cederqvist is available on the web.

  Dado que este libro é mantido á vez que CVS, normalmente é a referencia máis ao día; porén, recoméndase considerar outra documentación para aprender a usar CVS, en particular o seguinte.

- Karl Fogel has written the excellent book Open Source Development with CVS. About half of this book is about the development process of Open Source software. The other half is a technical documentation of CVS. Thankfully, the technical part of the book has been made freely redistributable under the GPL, so that you can download a HTML version of it. A list of errata is available on the web page mentioned above.

- Os problemas con CVS son discutidos nunha lista de correo específica para o tema.

- Hai un grupo USENET `comp.software.config-mgmt` adicado á xestión da configuración en xeral. CVS é só un tema marxinal deste grupo, porén pode ser de interese para discutir os méritos de distintos sistemas de control de versións en comparación con CVS.

- Finalmente, pero non menos interesante, hai unha lista de correo de baixo tránsito adicada a Cervisia.

Referencia dos comandos
Referencia dos comandos

## Referencia dos comandos

### O menú Ficheiro

Ficheiro → Abrir un borrador de traballo...

  Abre un borrador de traballo na fiestra principal. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar »

File → Recent Sandboxes

  Abre un dos borradores de traballo que fose usado recentemente.

Ficheiro → Inserir un rexisto no ChangeLog...

  Abre o editor do ChangeLog, preparado para que poda engadir unha entrada nova coa data actual. Consulte « Entregar ficheiros ».

File → Update (Ctrl+U)

  Executa un "cvs update" dos ficheiros escollidos e muda o estado e números de revisión na lista. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar ».

Ficheiro → Estado (F5)

  Executa "cvs -n update" nos ficheiros escollidos e muda o estado e números de revisión na lista. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar ».

Fichero → Editar

  Abre o ficheiro escollido no editor por omisión de KDE para o tipo do ficheiro escollido.

Ficheiro → Resolver...

  Abre un diálogo para o ficheiro escollido que lle permite resolver os conflitos de fusión que conteña. Consulte « Resolver conflitos ».

Ficheiro → Entregar... (#)

  Permítelle entregar os ficheiros escollidos. Consulte « Entregar ficheiros ».

File → Add to Repository... (Ins)

  Permítelle engadir ao repositorio os ficheiros escollidos. Consulte « Engadir ficheiros ».

Ficheiro → Engadir como binario...

  Permítelle engadir ao respositorio como binarios os ficheiros escollidos (cvs add `-kb`). Consulte « Engadir ficheiros ».

File → Remove from Repository... (Del)

  Permítelle eliminar do repositorio os ficheiros escollidos. Consulte « Eliminar ficheiros ».

Ficheiro → Reverter

  Rexeita as modificacións locais que teña feitas nos ficheiros escollidos e reverte para a versión no repositorio (Opción `-C` de cvs update).

File → Quit (Ctrl+Q)

  Sae de Cervisia

### O menú Vista

Vista → Parar (Escape)

  Aborta calquer subproceso que estexa a executar.

View → Browse Log... (Ctrl+L)

  Mostra o visor do rexisto das versións escollidas dos ficheiros. Consulte « Examinar os rexistos do CVS ».

View → Annotate... (Ctrl+A)

  Mostra unha vista anotada do ficheiro escollido, isto é unha vista onde para cada liña verá que autor a modificou por última vez. Consulte « Visualización dunha vista anotada do ficheiro ».

View → Difference to Repository (BASE)... (Ctrl+D)

  Mostra as diferenzas entre o ficheiro escollido no borrador de traballo e a versión que obtivo a última vez que actualizou (BASE). Consulte « Ollando as diferenzas entre revisións ».

View → Difference to Repository (HEAD)... (Ctrl+H)

  Mostra as diferenzas entre o ficheiro escollido no borrador de traballo e a versión que actualizou por última vez (HEAD). Consulte « Ollando as diferenzas entre revisións ».

Vista → Última modificación..

  Mostra as diferenzas entre a versión do ficheiro escollido a última vez que o actualizou (BASE) e a versión anterior. Consulte « Ollando as diferenzas entre revisións ».

Vista → Historial...

  Mostra o historial de CVS tal como é obtido do servidor. Consulte « Examinar o historial ».

Vista → Agochar todos os ficheiros

  Determina se só se deben mostrar os ficheiros na vista en árbore principal. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar ».

Vista → Acochar os ficheiros non modificados

  Determina se os ficheiros descoñecidos e actualizados son acochados na vista principal en árbore. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar ».

Vista → Acochar os ficheiros eliminados

  Determina se os ficheiros eliminados son acochados na vista principal en árbore. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar ».

Vista → Acochar os ficheiros non pertencentes ao CVS

  Determina se os ficheiros fora do CVS son acochados na vista principal en árbore. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar ».

Vista → Acochar os cartafoles vacíos

  Determines whether folders without visible entries are hidden in the main tree view. See « A fiestra principal, ver o estado do ficheiro e actualizar ».

Vista → Expandir a árbore de ficheiros

  Abre todas as pólas na árbore de ficheiros para que poda ver todos os ficheiros e cartafoles. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar ».

Vista → Pechar a árbore de ficheiros

  Pecha todas as pólas na árbore de ficheiros. Consulte « A fiestra principal, ver o estado do ficheiro e actualizar ».

### O menú Avanzado

Avanzado → Marca/Galla...

  Pon unha marca ou cria unha galla para os ficheiros escollidos. Consulte « Marcar e Gallar ».

Avanzado → Eliminar a marca...

  Eliminar unha marca dada dos ficheiros escollidos. Consulte « Marcar e Gallar ».

Avanzado → Actualizar para a Marca/Data...

  Leva os ficheiros escollidos a unha data ou marca específica, facéndoos pegañentos. Consulte « Actualizar para a Marca, Galla ou Data ».

Avanzado → Actualizar a HEAD

  Leva os ficheiros escollidos para a revisión HEAD. Consulte « Actualizar para a Marca, Galla ou Data ».

Avanzado → Fusionar...

  Fusiona ou unha galla dada ou as modificacións entre dúas marcas, nos ficheiros escollidos. Consulte « Marcar e Gallar ».

Avanzado → Engadir un Vixilante...

  Engade un vixilante para un conxunto de eventos nos ficheiros escollidos. Consulte « Uso de Vixilantes ».

Avanzado → Eliminar o Vixilante...

  Elimina un vixilante dun conxunto de eventos sobre os ficheiros escollidos. Consulte « Uso de Vixilantes ».

Avanzado → Mostrar os vixilantes

  Lista os vixilantes dos ficheiros escollidos. Consulte « Uso de Vixilantes ».

Advanced → Edit Files

  Executa cvs edit nos ficheiros escollidos. Consulte « Uso de Vixilantes ».

Advanced → Unedit Files

  Executa cvs unedit nos ficheiros escollidos. Consulte « Uso de Vixilantes ».

Avanzado → Mostrar os editores

  Executa cvs editors nos ficheiros escollidos. Consulte « Uso de Vixilantes ».

Advanced → Lock Files

  Bloquea os ficheiros escollidos. Consulte « Bloqueo ».

Advanced → Unlock Files

  Desbloquea os ficheiros escollidos. Consulte « Bloqueo ».

Avanzado → Criar un parche para o repositorio...

  Cria un parche a partir das modificacións no seu borrador de traballo. Consulte « Criar parches ».

### O menú Repositorio

Repositorio → Criar...

  Abre un diálogo que lle permite criar un repositorio local novo. Consulte « Aceder ao Repositorio ».

Repositorio → Obter...

  Abre un diálogo que lle permite obter un módulo dun repositorio. Consulte « Obter un módulo do repositorio ».

Repositorio → Importar...

  Abre un diálogo que lle permite importar un paquete para o repositorio. Consulte « Importar un módulo no repositorio ».

Repositorio → Repositorios...

  Configura unha lista de repositorios que usa a miúdo e como aceder a eles. Consulte « Aceder ao Repositorio ».

### O menú Configuración

Configuración → Mostrar barra de ferramentas

  Indica se debe mostrarse a barra de ferramentas.

Configuración → Criar os cartafoles ao actualizar

  Determina se as actualizacións han criar cartafoles no borrador de traballo que non estivesen anter (Opción `-d` de cvs update).

Configuración → Limpar os cartafoles vacíos ao actualizar

  Determina se as actualizacións eliminar os cartafoles vacíos no borrador de traballo (Opción `-P` de cvs update).

Configuración → Actualizar recursivamente

  Determina se as actualizacións son recursivas (Opción `-r` de cvs update).

Settings → Commit & Remove Recursively

  Determina se as entregas e borrados son recursivos (Opción `-r` de cvs add, ou cvs remove).

Configuración → Notificar automaticamente cando comece a editar se é necesario

  Determina se cvs edit é executado automaticamente cando edita un ficheiro.

Configuración → Configurar Atallos de Teclado...

  Abre un diálogo para configurar os atallos de teclado.

Configuración → Configurar Barras de Ferramentas...

  Abre un diálogo para configurar as barras de ferramentas de Cervisia.

Settings → Configure Cervisia...

  Abre un diálogo para personalizar Cervisia.

### A menú Axuda

Axuda → Manual do Cervisia (F1)

  Inicia o sistema de axuda de KDE, mostrando na documentación do Cervisia. (este documento).

Axuda → Que é isto? (Maiúsc+F1)

  Muda o cursor do rato para unha mistura de unha frecha cun sinal de interrogación. Ao premer nos itens de Cervisia abrirá uma fiestra de axuda (de habela para o ítem) que explica a función do ítem.

Axuda → Informar dun erro...

  Abre o diálogo de Enviar informes de erro mediante o que pode comunicar un erro ou « pedir » unha funcionalidade.

Axuda → Acerca de Cervisia

  Mostra a versión do programa e a información de autoría.

Axuda → Acerca de KDE

  Mostra a versión de KDE e outra información básica.

Apart from the standard KDE Help menu items described above you will have this additional menu entry:

Axuda → Manual de CVS

  Abre as páxinas info de CVS no sistema de axuda de KDE.

Capítulo 8. Recoñecimentos e Licenzas
Recoñecimentos e Licenzas

# Capítulo 8. Recoñecimentos e Licenzas

Program copyright

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

- 2002-2008 the Cervisia authors

Documentation Copyright 1999-2002 Bernd Gehrmann `(bernd AT mail.berlios.de)` and 2004 Carlos Woelz carloswoelz@imap-mail.com

mvillarino`(mvillarino AT users.sourceforge.net)`

Esta documentación está licenciada sob os termos da GNU Free Documentation License.

Este programa está licenciado sob os termos da Licenza Pública Xeral de GNU.