diff options
author | José Nuno Coelho Sanarra Pires <jncp@netcabo.pt> | 2006-04-07 17:27:01 +0000 |
---|---|---|
committer | José Nuno Coelho Sanarra Pires <jncp@netcabo.pt> | 2006-04-07 17:27:01 +0000 |
commit | 0ffed3c89ac620d48252f36d91186d0e314bd296 (patch) | |
tree | 3738151269ee22445a27c6cf39f059ef2a11060c /common/cvs-pt.xml | |
parent | fcb270977fc58b24d6b89974f27fcda51fa116c3 (diff) | |
download | fedora-doc-utils-0ffed3c89ac620d48252f36d91186d0e314bd296.tar.gz fedora-doc-utils-0ffed3c89ac620d48252f36d91186d0e314bd296.tar.xz fedora-doc-utils-0ffed3c89ac620d48252f36d91186d0e314bd296.zip |
Added CVS notes in Portuguese
Diffstat (limited to 'common/cvs-pt.xml')
-rw-r--r-- | common/cvs-pt.xml | 873 |
1 files changed, 873 insertions, 0 deletions
diff --git a/common/cvs-pt.xml b/common/cvs-pt.xml new file mode 100644 index 0000000..cf11551 --- /dev/null +++ b/common/cvs-pt.xml @@ -0,0 +1,873 @@ +<!-- $Id: --> + +<!-- +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ + + <!ENTITY BOILERPLATE "This header makes editing XML easier"> + <!ENTITY FC "Fedora Core"> + <!ENTITY RH "Red Hat"> + +]> +--> + +<chapter id="ch-cvs"> + <title>CVS</title> + <para>O Concurrent Versions System (<application>CVS</application>) oferece + uma plataforma onde vários utilizadores poderão editar os mesmos ficheiros. + Como poderá imaginar se um grupo de utilizadores editar os ficheiros numa + única pasta, o caos iria reinar. Se usar o <application>CVS</application>, + todavia, um grupo de utilizadores poderá estar a trabalhar em segurança no + mesmo conjunto de ficheiros. O <application>CVS</application> mantém a + cópia-mestra dos ficheiros e regista quem alterou o quê e quando, num + repositório central. Se ocorrerem conflitos, o <application>CVS</application> + informá-lo-á. O <application>CVS</application> é normalmente usado para que + os programadores possam partilhar código, mas também funciona bem para a + documentação. + </para> + <indexterm> + <primary>cvs</primary> + </indexterm> + <section id="sn-cvs-overview"> + <title>Como Funciona o CVS</title> + <indexterm> + <primary>cvs</primary> + <secondary>como funciona</secondary> + </indexterm> + <indexterm> + <primary>cvs</primary> + <secondary>introdução</secondary> + </indexterm> + <para> + Na maioria dos casos, cada conjunto de ficheiros que compõe um pacote ou + projecto é gravado como um <firstterm>módulo</firstterm> no servidor de + CVS.</para> + + <para>Ao lidar com ficheiros no <application>CVS</application>, você + <firstterm>extrai</firstterm> uma cópia do módulo para o seu sistema + de ficheiros local. Depois de modificar um ou mais ficheiros, o + utilizador <firstterm>envia</firstterm> os mesmos ficheiros de volta + para o servidor do repositório central do <application>CVS</application>. + </para> + + <para>Com o <application>CVS</application> poderá editar um ficheiro sem + pedir primeiro permissão ou bloquear o ficheiro. A parte + <wordasword>concurrent</wordasword> (concorrente) do nome do + <application>CVS</application> vem da sua capacidade de permitir a várias + pessoas diferentes editarem partes diferentes do mesmo ficheiro. Desde + que nenhuma das alterações se sobreponha, o <application>CVS</application> + consegue gravar correctamente as suas alterações. No cas de alterações + duplicadas, elas são marcadas de forma clara nos ficheiros e os autores + deverão resolver o problema entre eles. </para> + + <para>Quando você envia as alterações, só as alterações aos ficheiros + que o servidor reconhece é que são enviadas. Por outras palavras, se + criou um ficheiro na sua cópia local do módulo, o ficheiro novo não + é enviado automaticamente para o servidor. Precisa primeiro de + <firstterm>adicionar</firstterm> o dito ficheiro ao repositório e depois, + sim, enviá-lo. Se remover um ficheiro da sua cópia local do módulo, + também terá de indicar que o deseja remover do repositório no servidor + de CVS e, posteriormente, confirmar a remoção do ficheiro. </para> + + <para +>Os comandos específicos para efectuar estas acções são discutidos em <xref linkend="sn-cvs-cvscommands"/>. </para> + + <para>Se alguém modificou o ficheiro desde a última altura em que obteve + o ficheiro do CVS e quando você tentar enviar uma alteração sua, o + <application>CVS</application> irá tentar juntar as alterações na + cópia-mestra no servidor do <application>CVS</application>. Se o conteúdo + que alterou estiver num local diferente no ficheiro do conteúdo alterado + pela outra pessoa, então é possível que a acção de envio seja bem-sucedida + sem haver <firstterm>conflitos</firstterm>. Se alguém modificou o mesmo + conteúdo que você alterou e então enviar, irá então ver uma mensagem + a avisar da ocorrência de um conflito. Como tal, terá de + <firstterm>actualizar</firstterm> os seus ficheiros com frequência. É uma + boa prática actualizá-los antes de começar a modificá-los. Veja em + <xref linkend="sn-cvs-cvscommands-conflicts"/> algumas instruções de + resolução de conflitos.</para> + </section> + <section id="sn-cvs-preparation"> + <title>Preparar para Usar o CVS</title> + <indexterm> + <primary>cvs</primary> + <secondary>preparar a utilização</secondary> + </indexterm> + <para>Antes de usar o <application>CVS</application>, precisa de + estabelecer uma conta com o servidor do <application>CVS</application>. + Depois de obter uma conta, já não terá de efectuar estas acções de novo. + </para> + + <section id="sn-cvs-rpm-check"> + <title>O CVS Está Instalado no Seu Sistema</title> + <indexterm> + <primary>cvs</primary> + <secondary>Instalação do RPM</secondary> + </indexterm> + <para>Deverá ter o pacote <abbrev>RPM</abbrev> do + <application>CVS</application> instalado. Verifique + a sua presença com o comando: </para> +<screen><prompt>$ </prompt><command>rpm -q cvs</command></screen> + <para>Se observar um resultado semelhante a + <computeroutput>cvs-1.11.19-1</computeroutput>, então o pacote + está instalado. Se aparecer uma mensagem do tipo <computeroutput>o + pacote cvs não está instalado</computeroutput>, significa então que + é necessário instalar o pacote <application>cvs</application> antes + de prosseguir. Se não souber como fazê-lo, consulte o seu administrador + de sistema, que podê-lo-á instalar por si. </para> + </section> + + <section id="sn-cvs-generate-keys"> + <title>Gerar as Chaves de SSH</title> + <indexterm> + <primary>OpenSSH</primary> + <secondary>chaves de autorização</secondary> + </indexterm> + <para>O servidor de <application>CVS</application> usa chaves de + <application>SSH</application> Protocolo 2 para autenticar os + utilizadores. Como tal, terá de gerar um par de chaves, antes + de pedir uma conta de <application>CVS</application>. Se já + tiver uma chave <abbrev>DSA</abbrev> do <application>SSH</application>, + poderá saltar este passo. </para> + <tip> + <title>Sugestão</title> + <para>Já terá uma chave de <abbrev>DSA</abbrev> se tiver o ficheiro + <filename>~/.ssh/id_dsa.pub</filename> no sistema. </para> + <para>Se a sua chave <abbrev>DSA</abbrev> existente não precisar de + uma <wordasword>frase-senha</wordasword>, é-lhe altamente recomendado + que gere uma que peça de facto a senha. </para> + </tip> + <para>Use os seguintes passos para gerar uma chave <abbrev>DSA</abbrev> + usada pelo <application>SSH</application> Protocolo 2. É necessário para + uma conta do <application>CVS</application> em + <computeroutput>cvs.fedora.redhat.com</computeroutput>. </para> + <orderedlist> + <indexterm> + <primary>OpenSSH</primary> + <secondary><command>ssh-keygen</command> + </secondary> + </indexterm> + <indexterm> + <primary><command>ssh-keygen</command> + </primary> + </indexterm> + <listitem> + <para>Para gerar uma chave <acronym>DSA</acronym> que funcione com a versão do protocolo 2.0, numa consola, escreva o comando: </para> +<screen><prompt>$ </prompt><command>ssh-keygen -t dsa</command></screen> + <para>Aceite a localização por omissão do ficheiro em + <filename>~/.ssh/id_dsa</filename>. É-lhe pedido para definir + e usar uma <firstterm>frase-senha</firstterm> para melhorar a + segurança da sua chave. Indique uma frase-senha diferente da senha + da sua conta e confirme-a, introduzindo-a de novo. </para> + </listitem> + <listitem> + <para>Copie a sua chave nova para o ficheiro correcto, escrevendo + o seguinte numa linha de comandos. </para> +<screen><prompt>$ </prompt> + <command>cat ~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys</command> +</screen> + <note> + <para>Verifique este comando com cuidado, antes de carregar na + tecla <guibutton>ENTER</guibutton>. Se o + <filename>~/.ssh/authorized_keys</filename> já existir, + o conteúdo do <filename>~/.ssh/id_dsa.pub</filename> será + adicionado ao fim do ficheiro + <filename>~/.ssh/authorized_keys</filename>. </para> + </note> + </listitem> + <listitem> + <para>Mude as permissões da sua pasta <filename>~/.ssh</filename> + e das suas chaves com os comandos: </para> +<screen><prompt>$ </prompt><command>chmod 755 ~/.ssh</command> +<prompt>$ </prompt><command>chmod 644 ~/.ssh/authorized_keys</command></screen> + </listitem> + </orderedlist> + <tip> + <title>Sugestão</title> + <para>Poderá fazer com que o seu sistema recorde a sua frase-senha, + para que não tenha de a escrever, sempre que acede ao servidor do + <application>CVS</application>. Veja a documentação do programa + <application>ssh-add</application>. </para> + </tip> + </section> + </section> + <section id="sn-cvs-config"> + <title>Configurar o Acesso ao CVS</title> + <indexterm> + <primary>cvs</primary> + <secondary>configurar o acesso</secondary> + </indexterm> + <indexterm> + <primary>cvs</primary> + <secondary>CVSROOT</secondary> + </indexterm> + <indexterm> + <primary>cvs</primary> + <secondary>CVS_RSH</secondary> + </indexterm> + <indexterm> + <primary>CVSROOT</primary> + </indexterm> + <indexterm> + <primary>CVS_RSH</primary> + </indexterm> + <indexterm> + <primary>cvs</primary> + <secondary><filename>.cvsrc</filename> + </secondary> + </indexterm> + <indexterm> + <primary><filename>.cvsrc</filename> + </primary> + </indexterm> + <section id="sn-cvs-config-cvsrc"> + <title>Evitar a Escrita Repetitiva</title> + <indexterm> + <primary>cvs</primary> + <secondary>evitar a escrita repetitiva</secondary> + </indexterm> + <para>Muitos dos comandos do <application>CVS</application> precisam + de certas opções da linha de comandos para funcionarem de forma + consistente. Em vez de os escrever, sempre que esse comando é usado, + poderá gravar as opções num ficheiro que o <application>CVS</application> + irá ler antes de executar a sua linha de comandos. </para> + + <para>Crie um ficheiro chamado <filename>~/.cvsrc</filename> na sua + pasta pessoal. Deverá conter os seguintes comandos, estando um por + cada linha: +<screen><computeroutput>cvs -z3 +diff -uNp +rdiff -uNp +update -dP</computeroutput></screen> + </para> + </section> + + <section id="sn-cvs-config-anon"> + <title>Configurar o Acesso Apenas para Leitura ao CVS</title> + <indexterm> + <primary>cvs</primary> + <secondary>configurar o acesso apenas para leitura</secondary> + </indexterm> + <indexterm> + <primary>cvs</primary> + <secondary>acesso anónimo</secondary> + </indexterm> + <para>Se o seu objectivo é transferir os vários documentos do &FC; + e gerá-los para o seu sistema, só precisa de acesso apenas para + leitura ao repositório do <application>CVS</application>. Siga + as instruções desta secção e salte directamente para o + <xref linkend="sn-cvs-cvscommands-co"/>. </para> + + <para>Mude as pastas para onde deseja colocar os ficheiros do + <application>CVS</application>, e execute os seguintes comandos: + </para> +<screen><prompt>$ </prompt> +<command>export CVSROOT=:pserver:cvs.fedora.redhat.com:/cvs/docs</command> +<prompt>$ </prompt><command>cvs login</command> +<prompt>$ </prompt><command>cvs checkout docs-common</command> +<replaceable>nome-módulo</replaceable> +<prompt>$ </prompt><command>cvs checkout</command> +<replaceable>nome-módulo</replaceable> +<prompt>$ </prompt><command>cd</command> <replaceable>nome-módulo</replaceable> +</screen> + <para>Logo que tenha obtido o módulo, não interessa com que valor está + definido o seu <envar>CVSROOT</envar>, dado que é guardado no ficheiro + <filename>CVS/Root</filename> de cada pasta do seu repositório local. + Desde que a sua pasta actual tenha uma pasta <filename>CVS/</filename>, + o programa <application>CVS</application> irá localizar automaticamente + o repositório do &FC;. </para> + </section> + + <section id="sn-cvs-config-author"> + <title>Configurar o Acesso de Leitura/Escrita ao CVS</title> + <indexterm> + <primary>cvs</primary> + <secondary>configurar o acesso de leitura/escrita</secondary> + </indexterm> + <indexterm> + <primary>cvs</primary> + <secondary>configurar o acesso para os autores</secondary> + </indexterm> + <para>Para criar um documento novo ou para mudar um existente, terá + de obter o acesso completo de leitura/escrita ao repositório de + <application>CVS</application> da Documentação do &FC;. Para saber + os detalhes completos deste processo, veja na página Web + <ulink url="http://fedoraproject.org/wiki/DocsProject/NewWriters"> + <filename>http://fedoraproject.org/wiki/DocsProject/NewWriters</filename> + </ulink>. Em baixo, encontra-se um resumo: </para> + + <itemizedlist> + <listitem> + <para>Subscreva-se na lista de correio + <ulink url="https://listman.redhat.com/mailman/listinfo/fedora-docs-list"><filename>fedora-docs-list</filename> </ulink>, + que é o fórum principal do projecto. </para> + </listitem> + <listitem> + <para +>Crie uma chave de GNU Privacy Guard (<abbrev +>GPG</abbrev +>) para o identificar no projecto. </para> + </listitem> + <listitem> + <para>Registe uma conta do <ulink url="http://bugzilla.redhat.com/"> + <filename>Bugzilla</filename> </ulink>, se não tiver já criado + alguma. O <filename>Bugzilla</filename> é o método de registar + os erros, alterações e projectos. </para> + </listitem> + <listitem> + <para>Publique uma + <ulink url="http://fedoraproject.org/wiki/DocsProject_2fSelfIntroduction">auto-apresentação</ulink> na lista. </para> + </listitem> + </itemizedlist> + + <para>Depois da sua + <ulink url="http://fedoraproject.org/wiki/DocsProject_2fSelfIntroduction">auto-apresentação</ulink> ter sido aprovada, o acesso de + <application>CVS</application> será cedido. + </para> + + <para>Todos os autores, e isso inclui-o a si após a recepção da + sua auto-apresentação, terão um <envar>$CVSROOT</envar> único + para aceder ao repositório do <application>CVS</application>: </para> +<screen><prompt>$ </prompt><command>export CVSROOT=:ext:</command> +<replaceable>o-seu-utilizador</replaceable> +<command>@cvs.fedora.redhat.com:/cvs/docs</command><prompt>$ </prompt> +<command>export CVS_RSH=/usr/bin/ssh</command></screen> + <para>Com as variáveis de ambiente <envar>$CVSROOT</envar> e + <envar>$CVS_RSH</envar> correctas, poderá aceder ao repositório: </para> +<screen><prompt>$ </prompt> +<command>cvs co -c</command></screen> + <para>Será então pedida a frase-senha da sua chave + <application>SSH</application>. Carregue em <guibutton>ENTER</guibutton> + para receber uma lista dos módulos já existentes no repositório. </para> + </section> + </section> + <section id="sn-cvs-cvscommands"> + <title>Comandos Básicos do CVS</title> + <indexterm> + <primary>cvs</primary> + <secondary>comandos</secondary> + </indexterm> + <para>Depois de configurar o seu sistema para funcionar com o CVS, faça + uma extracção dos módulos com que irá trabalhar. </para> + <tip> + <title>Sugestão</title> + <para>Para ver se precisa de uma variável <envar>$CVSROOT</envar> + definida de forma correcta ou da opção da linha de comandos + <option>-m </option> <replaceable>repositório</replaceable>, veja + se tem uma sub-pasta <filename>CVS/</filename> na sua pasta local + de trabalho. </para> + <para>Se tiver uma pasta <filename>CVS/</filename>, o + <application>CVS</application> irá ignorar o <envar>$CVSROOT</envar> + ou a opção da linha de comandos. </para> + </tip> + <section id="sn-cvs-cvscommands-co"> + <title>Obter os Módulos</title> + <indexterm> + <primary>cvs</primary> + <secondary>obter os módulos</secondary> + </indexterm> + <para>Só precisa de extrair por completo o módulo uma vez. Depois de + ter uma cópia local do módulo no seu sistema, fica de facto por + completo no seu sistema. </para> + + <para>Para extrair um módulo, use o seguinte comando: </para> +<screen><prompt>$ </prompt><command>cvs co</command> +<replaceable><nome-módulo></replaceable></screen> + <para>Por exemplo, para extrair o módulo +<computeroutput>example-tutorial</computeroutput>, vá para a sua pasta +de trabalho e execute o seguinte comando: </para> +<screen><prompt>$ </prompt><command>cvs co example-tutorial</command></screen> + <para>Será criada uma pasta <filename>example-tutorial/</filename> na + sua pasta actual. </para> + + <para>Se não for indicado um nome de ramificação ('branch') ao extrair + um módulo, assume-se como sendo o <firstterm>HEAD</firstterm> do módulo + do <application>CVS</application>. </para> + + <section id="sn-cvs-cvscommands-co-branch"> + <title>Extrair Ramificações dos Módulos</title> + <indexterm> + <primary>cvs</primary> + <secondary>extrair os módulos</secondary> + <tertiary>extrair as ramificações</tertiary> + </indexterm> + <para>Pense numa ramificação do <application>CVS</application> como + sendo uma versão dos ficheiros para uma dada versão em particular de + um manual ou pacote. </para> + + <para>Para extrair uma ramificação de um módulo, use o seguinte + comando: </para> +<screen><prompt>$ </prompt><command>cvs co</command> <option>-d</option> +<replaceable><pasta></replaceable> <option>-r</option> +<replaceable><nome-ramificação></replaceable> +<replaceable><nome-módulo></replaceable></screen> + <para>Será criada uma pasta <replaceable><pasta></replaceable> + e os ficheiros da ramificação + <replaceable><nome-ramificação></replaceable> do módulo + <replaceable><nome-módulo></replaceable> são copiados + para a pasta. </para> + + <para>Por exemplo, para extrair uma ramificação chamada + RAMIFICACAO-VERSAO-1.2 do módulo + <computeroutput>meu_modulo</computeroutput>, use o comando: </para> +<screen><prompt>$ </prompt> +<command>cvs co -d meu_modulo-1.2 -r RAMIFICACAO-VERSAO-1.2 meu_modulo</command></screen> + <para>A ramificação RAMIFICACAO-VERSAO-1.2 do módulo é extraída + para a pasta <filename>meu_modulo-1.2</filename> no seu sistema. + </para> + + <para>Para determinar que ramificações e marcas existem para um + dado ficheiro, use o comando: </para> +<screen><prompt>$ </prompt><command>cvs status</command> <option>-v</option> +<replaceable><ficheiro></replaceable></screen> + <para>Por exemplo, o estado do ficheiro <filename>xpto.sgml</filename> + é o seguinte: </para> +<screen><computeroutput> +=================================================================== +File: xpto.sgml Status: Up-to-date + + Working revision: 1.47 + Repository revision: 1.47 /cvs/docs/custom-guide/rhl-cg-pt.sgml,v + Sticky Tag: (none) + Sticky Date: (none) + Sticky Options: (none) + + Existing Tags: + RAMIFICACAO-VERSAO-1.2 (branch: 1.25.2) +</computeroutput> +</screen> + <para>Só as marcas que estejam registadas como ramificações na + segunda coluna, sob a secção + <computeroutput>Existing Tags</computeroutput> (Marcas Existentes) + é que poderão ser extraídas como ramificações. </para> + </section> + </section> + + <section id="sn-cvs-cvscommands-up"> + <title>Actualizar os Ficheiros</title> + <indexterm> + <primary>cvs</primary> + <secondary>actualizar os ficheiros</secondary> + </indexterm> + <para>Para obter as últimas versões dos ficheiros de um módulo, + mude para a pasta que contém os ficheiros do módulo e execute + o comando: </para> +<screen><command>cvs update</command></screen> + <para>As últimas versões de todos os ficheiros do módulo serão + transferidas para a sua cópia local. Se reparar em algum conflito + de ficheiros, consulte depois o + <xref linkend="sn-cvs-cvscommands-conflicts"/>. </para> + </section> + + <section id="sn-cvs-cvscommands-commit"> + <title>Enviar os Ficheiros</title> + <indexterm> + <primary>cvs</primary> + <secondary>enviar os ficheiros</secondary> + </indexterm> + <para>Depois de modificar os ficheiros na sua versão local de + um módulo, envie-os para gravar as alterações no servidor de + <application>CVS</application>: </para> +<screen><prompt>$ </prompt><command>cvs commit</command> <option>-m</option> +"<replaceable>uma mensagem de registo</replaceable>" +<replaceable>ficheiro</replaceable></screen> + <note> + <para>Se preferir escrever a sua mensagem de registo com o seu editor + de texto favorito, como está definido pelas variáveis de ambiente + $VISUAL ou $EDITOR, basta omitir o + <userinput>-m "uma mensagem de registo"</userinput>. + O documento já irá conter comentários a descrever a alteração; + não precisa de os remover, à medida que introduz o seu próprio + texto. </para> + </note> + + <para>A mensagem de registo deverá ser tão descritiva quanto possível, + para que você e outra pessoa qualquer que esteja a trabalhar no projecto + saiba o que mudou. Se usar uma mensagem de registo do tipo + <userinput>alterei alguns ficheiros</userinput>, não está a descrever + correctamente o que foi alterado e podê-lo-á não ajudar no futuro. + Se estiver a corrigir um erro, use a referência do + <application>Bugzilla</application>. </para> + + <para>O <replaceable><ficheiro></replaceable> poderá ser um nome + de ficheiro, um conjunto de nomes de ficheiros separados por espaços ou + um grupo de nomes de ficheiros indicados com caracteres especiais + (*, ?), como por exemplo <filename>*.png</filename> ou + <filename>xpto-*.sgml</filename>. </para> + + <para>Se não for indicado nenhum nome ou grupo de ficheiros no comando + <command>commit</command>, todas as alterações pendentes de qualquer + tipo serão enviadas para o servidor. O comando é recursivo e irá incluir + as alterações de quaisquer sub-pastas do módulo. Tenha cuidado ao usar + o comando <command>commit</command> sem quaisquer nomes de ficheiros, + porque poderá não recordar exactamente os ficheiros que mudaram. </para> + + <para>Se reparar num conflito de ficheiros, consulte por favor a + secção <xref linkend="sn-cvs-cvscommands-conflicts"/>. </para> + </section> + + <section id="sn-cvs-cvscommands-add"> + <title>Adicionar Ficheiros</title> + <indexterm> + <primary>cvs</primary> + <secondary>adicionar ficheiros</secondary> + </indexterm> + <para>Para adicionar um ficheiro a um módulo, crie o ficheiro na sua + cópia local e execute então o seguinte comando: </para> +<screen><prompt>$ </prompt><command>cvs add</command> +<replaceable>ficheiro-a-adicionar</replaceable +></screen> + <para>Depois de adicionar o ficheiro, deverá confirmar (fazer + <command>commit</command>) da operação <command>add</command> para + o copiar para o servidor: </para> +<screen><prompt>$ </prompt><command>cvs commit</command> +<option>-m</option> "<replaceable>uma mensagem de registo</replaceable> +" <replaceable>ficheiro-a-adicionar</replaceable></screen> + </section> + + <section id="sn-cvs-cvscommands-admin"> + <title>Gerir os Ficheiros Binários</title> + <indexterm> + <primary>cvs</primary> + <secondary>ficheiros binários</secondary> + </indexterm> + <para>Os ficheiros que são armazenados com maior frequência são os + ficheiros de texto, mas às vezes também poderão ser armazenados + ficheiros binários. O programa <application>cvs</application> + reconhece a maioria das extensões de ficheiros, como a + <filename>.png</filename> ou a <filename>.jpg</filename>, + por isso o <application>cvs</application> normalmente + "faz a coisa correcta". </para> + + <para>Quando for extraída uma cópia do repositório, o + <application>cvs</application> verifica algumas palavras-chave + especiais, do tipo "<computeroutput>$id:$</computeroutput>" + e faz a substituição do texto por um valor gerado, como o número de + versão do ficheiro. </para> + + <para>A substituição desta palavra-chave normalmente corrompe os + ficheiros binários, por isso tem de ser desligada se o + <application>cvs</application> não reconhecer o seu ficheiro + como binário. Para marcar o seu ficheiro como binário e, deste + modo, desligar a expansão de palavras-chave, use o comando: </para> +<screen width="60"><prompt>$ </prompt><command>cvs</command> +<option>admin</option> <option>-kk</option> <replaceable>ficheiro</replaceable> +</screen> + <para>Lembre-se que o ficheiro já deverá estar extraído do + repositório de <abbrev>CVS</abbrev>, antes de o comando + <option>admin</option> poder ser usado. Isto está OK, + dado que a expansão é feita quando o ficheiro é obtido + e copiado para a pasta local, não quando é enviado para + o repositório. </para> + <tip> + <title>Recuperar um ficheiro binário</title> + <para>Se extrair um ficheiro binário para o repositório e descobrir + então que este está corrompido, não entre em pânico. Basta usar o + comando <option>admin</option> descrito acima, remover a sua cópia + local e transferi-la de novo. </para> + </tip> + </section> + + <section id="sn-cvs-cvscommands-rm"> + <title>Remover os Ficheiros</title> + <indexterm> + <primary>cvs</primary> + <secondary>remover os ficheiros</secondary> + </indexterm> + <para>Se um dado ficheiro não for mais necessário no módulo, use + o comando <command>remove</command> para o remover da sua cópia + local e então confirme (faça um <command>commit</command>) da + remoção no servidor. Ainda que o ficheiro seja removido da versão + actual do módulo, é mantida uma cópia em arquivo no servidor, que + poderá ser obtida em qualquer altura com o comando + <command>add</command>. </para> +<screen><prompt>$ </prompt><command>cvs rm -f</command> +<replaceable>ficheiro-a-remover</replaceable></screen> + <para>Depois de remover, terá de confirmar a remoção: </para> +<screen><prompt>$ </prompt><command>cvs commit</command> +<option>-m</option>"<replaceable>uma mensagem de registo</replaceable> +" <replaceable>ficheiro-a-remover</replaceable></screen> + <para>Não poderá usar caracteres especiais (*, ?) no comando + <command>commit</command>, para identificar os ficheiros + removidos. Estes deverão ser indicados com um nome de ficheiro + exacto. </para> + + <para>Se precisar de mudar o nome de um ficheiro, é melhor mudar + o nome do ficheiro no servidor de <application>CVS</application>, + para que o histórico do ficheiro se mantenha. Se precisar de mudar + o nome de um ficheiro, envie um e-mail para o + <ulink url="mailto:cvsdocs-administrator@fedora.redhat.com"> + <filename>cvsdocs-administrator@fedora.redhat.com</filename> + </ulink> a pedir a mudança do nome do ficheiro. </para> + </section> + + <section id="sn-cvs-cvscommands-status"> + <title>Estado dos Ficheiros</title> + <indexterm> + <primary>cvs</primary> + <secondary>estado dos ficheiros</secondary> + </indexterm> + <para>Algumas vezes é necessário ver o <firstterm>estado</firstterm> + de um ficheiro num módulo do <application>CVS</application>. Para ver + o estado de um ficheiro, use o comando: </para> +<screen><prompt>$ </prompt><command>cvs status</command> +<replaceable>ficheiro</replaceable></screen> + <para>O relatório do estado de um ficheiro do repositório é o + seguinte: </para> + + <variablelist> + <varlistentry> + <term><computeroutput>Actualizado ('Up-to-date')</computeroutput></term> + <listitem> + <para>A sua versão do ficheiro é idêntica à última versão no + servidor do <application>CVS</application>. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput>Modificado Localmente ('Locally Modified')</computeroutput></term> + <listitem> + <para>Você actualizou-se para a última versão do servidor, + mas depois modificou o ficheiro no seu sistema. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput>Adicionado Localmente ('Locally Added')</computeroutput></term> + <listitem> + <para>Você adicionou o ficheiro com o comando + <command>cvs add</command>, mas ainda não confirmou + a adição do ficheiro. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput>Removido Localmente ('Locally Removed')</computeroutput +></term> + <listitem> + <para>Você removeu o ficheiro com o comando + <command>cvs remove</command> mas ainda não + confirmou a remoção. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput>Necessita de Extracção + ('Needs Checkout')</computeroutput></term> + <listitem> + <para>Existe uma versão mais recente do ficheiro no servidor + e é necessário obtê-la de novo. Ainda que o estado inclua + a palavra 'checkout', significa de facto que é necessário + actualizar os seus ficheiros com o comando + <command>cvs update</command>. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput>Necessita de Actualização + ('Needs Patch')</computeroutput></term> + <listitem> + <para>A versão na sua extracção local necessita de uma + actualização com a última versão do servidor. Execute + o comando <command>cvs update</command> para a resolver. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput>Necessita de Junção ('Needs Merge')</computeroutput></term> + <listitem> + <para>Existe uma versão mais recente no servidor e a sua versão + local contém modificações ainda não enviadas. Este estado ocorre + normalmente se não tiver a última versão do ficheiro e a quiser + editar à mesma. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput>O ficheiro tinha conflitos na junção</computeroutput></term> + <listitem> + <para>É semelhante ao <computeroutput>Needs Merge</computeroutput>, + excepto quando tentou enviar o comando <command>cvs + update</command>, as diferenças não conseguiram ser resolvidas + automaticamente. Veja em + <xref linkend="sn-cvs-cvscommands-conflicts"/> para mais + informações sobre a resolução de conflitos. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><computeroutput>Desconhecido ('Unknown')</computeroutput></term> + <listitem> + <para>O servidor do <application>CVS</application> não sabe nada + acerca deste ficheiro. Nunca foi adicionado nem removido localmente + e nunca foi enviado para o servidor. Este estado ocorre normalmente + nos ficheiros que não deverá mandar para o + <application>CVS</application>, como o + <filename>indice-gerado.sgml</filename> ou nos ficheiros que + deseja adicionar ao repositório, mas que ainda não foram + adicionados com o comando <command>cvs add</command>. </para> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="sn-cvs-cvscommands-conflicts"> + <title +>Resolver os Conflitos</title> + <indexterm> + <primary>cvs</primary> + <secondary>resolver os conflitos</secondary> + </indexterm> + <para>Se modificar um ficheiro e a mesma região for modificada por + alguém e foi enviada em primeiro lugar, poderá ver uma mensagem + semelhante à seguinte ao enviar o ficheiro ou ao actualizar a sua cópia + local do módulo: </para> +<screen><computeroutput> +RCS file: /cvs/docs/nome-modulo/ficheiro.sgml,v +retrieving revision 1.12 +retrieving revision 1.13 +Merging differences between 1.12 and 1.13 into ficheiro.sgml +rcsmerge: warning: conflicts during merge +cvs server: conflicts found in ficheiro.sgml +C ficheiro.sgml +</computeroutput> +</screen> + <para>Para resolver o conflito, abra o ficheiro, procure pelas + sequências <computeroutput><<<<<<<</computeroutput> + e determine qual a versão do conteúdo que está correcta. Por exemplo: + </para> +<screen><computeroutput> +<para> +Uma frase +<<<<<<< ficheiro.sgml +Uma frase que foi modificada na cópia local. +======= +Uma frase parecida que foi mudada de forma diferente e enviada. +>>>>>>> 1.13 +</para> +</computeroutput> +</screen> + <para>O conteúdo entre o <computeroutput><<<<<<<</computeroutput>e o <computeroutput>=======</computeroutput> é o conteúdo da + sua cópia local. O conteúdo entre o + <computeroutput>=======</computeroutput> e o + <computeroutput>>>>>>>></computeroutput> + é o conteúdo proveniente do servidor. </para> + + <para>Resolva o conflito, editando a sua cópia, e envie + o ficheiro.</para> + </section> + + <section id="sn-cvs-cvscommands-summary"> + <title>Resumo</title> + <indexterm> + <primary>cvs</primary> + <secondary>comandos</secondary> + <tertiary>resumo de</tertiary> + </indexterm> + <para>Todos os comandos assumem que você está na pasta correcta + do módulo do <application>CVS</application>. </para> + <table frame="all" id="tb-cvs-basic-commands"> + <title>Comandos Básicos do CVS</title> + <tgroup cols="2"> + <colspec colnum="1" colname="shortcut" colwidth="30"/> + <colspec colnum="2" colname="description" colwidth="60"/> + <thead> + <row> + <entry>Comando</entry> + <entry>Descrição</entry> + </row> + </thead> + <tbody> + <row> + <entry> + <command>cvs checkout <replaceable><nome-módulo></replaceable></command> ou <command>cvs co <replaceable><nome-módulo></replaceable></command> </entry> + <entry>Cria uma pasta chamada + <replaceable><nome-módulo></replaceable> com o conteúdo do + módulo na pasta</entry> + </row> + <row> + <entry><command>cvs co -d <replaceable><pasta></replaceable> + -r <replaceable><ramificação></replaceable> + <replaceable><nome-módulo></replaceable></command> + </entry> + <entry>Cria a pasta <replaceable><pasta></replaceable> com + o conteúdo da ramificação + <replaceable><ramificação></replaceable> do módulo + <replaceable><nome-módulo></replaceable></entry> + </row> + <row> + <entry><command>cvs update</command> ou <command>cvs up</command> </entry> + <entry>Actualiza os seus ficheiros com as últimas versões do + servidor de CVS</entry> + </row> + <row> + <entry><command>cvs add <replaceable><ficheiro> + </replaceable></command> + </entry> + <entry>Adiciona um ficheiro "ficheiro" novo ao servidor + do CVS</entry> + </row> + <row> + <entry><command>cvs commit -m "A minha mensagem" + <replaceable><ficheiro></replaceable></command> + </entry> + <entry>Actualiza o ficheiro + <replaceable><ficheiro></replaceable> com a última + cópia do seu computador</entry> + </row> + <row> + <entry><command>cvs log + <replaceable><ficheiro></replaceable></command> + </entry> + <entry>Vê as mensagens de registo do envio do ficheiro + <replaceable><ficheiro></replaceable> </entry> + </row> + <row> + <entry><command>cvs status + <replaceable><ficheiro></replaceable></command> + </entry> + <entry>Vê o estado do ficheiro, como algo do tipo + <computeroutput>Locally Modified</computeroutput> + (Modificado Localmente) </entry> + </row> + <row> + <entry><command>cvs status -v + <replaceable><ficheiro></replaceable></command> + </entry> + <entry>Vê as marcas e ramificações existentes do ficheiro</entry> + </row> + <row> + <entry><command>cvs diff + <replaceable><ficheiro></replaceable></command> + </entry> + <entry>Mostra as diferenças entre a cópia local do ficheiro + e a última versão do ficheiro na ramificação</entry> + </row> + <row> + <entry><command>cvs diff -r1.1 -r1.2 + <replaceable><ficheiro></replaceable></command> + </entry> + <entry>Mostra as diferenças entre a versão 1.1 e a 1.2 + do ficheiro</entry> + </row> + </tbody> + </tgroup> + </table> + <para>Para mais informações, veja o manual do CVS disponível no seu + sistema em <filename>/usr/share/doc/cvs-<replaceable><número-versão></replaceable>/cvs.ps</filename> (a versão do CVS poderá variar) e vá à página +Web do CVS, que está disponível em +<ulink url="http://www.cvshome.org/">http://www.cvshome.org/</ulink>. </para> + <tip> + <title>Sugestão</title> + <para>Dado que o <application>CVS</application> está a usar o + <application>ssh</application> para se ligar ao servidor do + <application>CVS</application>, ser-lhe-á pedida a sua senha + antes de efectuar o seu pedido de <application>CVS</application>. + Se quiser configurar a sua máquina para que não tenha de introduzir + uma senha, veja no + <ulink url="http://redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-openssh-client-config.html"> +<citetitle>Guia de Personalização do &RH; Linux 9</citetitle> </ulink> +para mais detalhes sobre a utilização do <command>ssh-agent</command>. </para> + </tip> + </section> + </section> +</chapter> |