summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorHugo Cisneiros <hugo@devin.com.br>2006-05-04 18:24:07 +0000
committerHugo Cisneiros <hugo@devin.com.br>2006-05-04 18:24:07 +0000
commit3717112d5f803c597b4cb15ada3f8d2e257d4de2 (patch)
treedd648ab4727c061ee62ae3cd4876ccbac55e8ace /common
parentb8d5258d2ccf3d08bfa1f69fa7acdf64ba1a2ed3 (diff)
downloadfedora-doc-utils-3717112d5f803c597b4cb15ada3f8d2e257d4de2.tar.gz
fedora-doc-utils-3717112d5f803c597b4cb15ada3f8d2e257d4de2.tar.xz
fedora-doc-utils-3717112d5f803c597b4cb15ada3f8d2e257d4de2.zip
Finished pt_BR translation
Diffstat (limited to 'common')
-rw-r--r--common/cvs-pt_BR.xml988
1 files changed, 988 insertions, 0 deletions
diff --git a/common/cvs-pt_BR.xml b/common/cvs-pt_BR.xml
new file mode 100644
index 0000000..4c71b22
--- /dev/null
+++ b/common/cvs-pt_BR.xml
@@ -0,0 +1,988 @@
+<!-- $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>)
+ fornece uma plataforma onde últiplos usuários podem editar os mesmos
+ arquivos. Imagine que se um grupo de usuários editam arquivos em um único
+ diretório, o caos pode reinar. Entretanto, usando o
+ <application>CVS</application>, um grupo de pessoas pode trabalhar de forma
+ segura no mesmo conjunto de arquivos. O <application>CVS</application>
+ mantém uma cópia mestre dos arquivos, e grava em um repositório central quem
+ modificou que arquivo e quando. Se conflitos surgem, o
+ <application>CVS</application> lhe diz. O <application>CVS</application> é
+ geralmente usado por programadores que compartilham códigos, mas também
+ funciona bem para documentação.
+ </para>
+ <indexterm>
+ <primary>cvs</primary>
+ </indexterm>
+ <section id="sn-cvs-overview">
+ <title>Como o CVS Trabalha</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>como ele trabalha</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>visão geral</secondary>
+ </indexterm>
+ <para>
+ Em muitos casos, cada conjunto de arquivos que formam um pacote ou projeto
+ é armazenado como um <firstterm>módulo</firstterm> no servidor CVS.
+ </para>
+
+ <para>
+ Quando trabalhando com arquivos no <application>CVS</application>, você
+ pode extrair (<firstterm>checkout</firstterm>) uma cópia do módulo para o
+ seu sistema de arquivos local. Depois de modificar um ou mais arquivos,
+ você pode enviá-los (<firstterm>commit</firstterm>) de volta para o
+ repositório central do servidor <application>CVS</application>.
+ </para>
+
+ <para>
+ Com o <application>CVS</application> você pode editar um arquivo sem
+ primeiro pegar permissão ou bloqueando o arquivo. A parte concorrente
+ (<wordasword>concurrent</wordasword>) do arquivo no
+ <application>CVS</application> tem a habilidade de permitir muitas pessoas
+ diferentes a editar diferentes partes do arquivo. Contanto que nenhuma das
+ mudanças gerem conflito entre si, o <application>CVS</application> pode
+ corretamente gravar as mudanças. Em caso de mudanças duplicadas, elas são
+ marcadas nos arquivos e os autores podem resolver o problema entre eles.
+ </para>
+
+ <para>
+ Quando você aplica as mudanças, apenas mudanças em arquivos que o servidor
+ conhece são aplicadas. Em outras palavras, quando você cria um arquivo em
+ sua cópia local do módulo, o novo arquivo não é automaticamente atualizado
+ no servidor. Você precisa adicionar (<firstterm>add</firstterm>) o arquivo
+ ao repositório para depois aplicá-lo enviando (commit). Se você remover o
+ arquivo da sua cópia local do módulo, você precisa especificar que você
+ deseja removê-lo do diretório no servidor CVS e depois aplicar a remoção
+ do arquivo.
+ </para>
+
+ <para>
+ Os comandos especificos para executar estas ações são descritos em
+ <xref linkend="sn-cvs-cvscommands"></xref>.
+ </para>
+
+ <para>
+ Se alguém modificou o arquivo entre a última vez que você pegou o arquivo
+ do CVS e quando você tentou aplicar as mudanças, o
+ <application>CVS</application> tentará mesclar as mudanças na cópia mestre
+ do servidor <application>CVS</application>. Se o conteúdo que você
+ modificou está em uma localização diferente no arquivo do que as mudanças
+ que outra pessoa modificou, as chances são de que a ação de aplicar terá
+ sucesso sem nenhum <firstterm>conflict</firstterm>. Se alguém modificou o
+ mesmo conteúdo que você e tentar aplicar, você verá uma mensagem de que um
+ conflito no arquivo ocorreu. Por isso, você precisa atualizar
+ (<firstterm>update</firstterm>) seus arquivos freqüentemente. É uma boa
+ prática atualizá-los logo antes de começar a modificar um arquivo. Veja na
+ <xref linkend="sn-cvs-cvscommands-conflicts"></xref> para instruções em
+ como resolver conflitos.
+ </para>
+ </section>
+ <section id="sn-cvs-preparation">
+ <title>Preparando-se Para Usar o CVS</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>preparando-se para usar</secondary>
+ </indexterm>
+ <para>
+ Antes de usar o <application>CVS</application>, você precisa estabelecer
+ uma conta no servidor <application>CVS</application>. Depois de conseguir
+ uma conta, você não precisa fazer estes passos novamente.
+ </para>
+
+ <section id="sn-cvs-rpm-check">
+ <title>O CVS Está Instalado em Seu Sistema?</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>instalação por RPM</secondary>
+ </indexterm>
+ <para>
+ Você deve ter o pacote <abbrev>RPM</abbrev> do
+ <application>CVS</application> instalado. Verifique a sua presença
+ digitando o comando:
+ </para>
+<screen><prompt>$ </prompt><command>rpm -q cvs</command></screen>
+ <para>
+ Se você ver uma saída parecida com
+ <computeroutput>cvs-1.11.19-1</computeroutput>, então o pacote está
+ instalado. Uma mensagem parecida com <computeroutput>package cvs is not
+ installed</computeroutput> quer dizer que você precisa instalar o pacote
+ <application>cvs</application> antes de continuar. Se você não sabe como
+ fazer isso, consulte o seu administrador de sistemas que possa
+ instalá-lo para você.
+ </para>
+ </section>
+
+ <section id="sn-cvs-generate-keys">
+ <title>Gerando as Chaves SSH</title>
+ <indexterm>
+ <primary>OpenSSH</primary>
+ <secondary>chaves de autorização</secondary>
+ </indexterm>
+ <para>
+ O servidor <application>CVS</application> usa chaves do Protocolo 2 do
+ <application>SSH</application> para autenticar usuários. Por isso você
+ precisará gerar um par de chaves antes de conseguir uma conta no
+ <application>CVS</application>. Se você já tem uma chave
+ <abbrev>DSA</abbrev> do <application>SSH</application>, pode pular este
+ passo.
+ </para>
+ <tip>
+ <title>Dica</title>
+ <para>
+ Você já tem uma chave <abbrev>DSA</abbrev> caso você tenha o arquivo
+ <filename>~/.ssh/id_dsa.pub</filename> em seu sistema.
+ </para>
+ <para>
+ Se sua chave <abbrev>DSA</abbrev> existente não precisa de uma
+ frase-senha (<wordasword>passphrase</wordasword>), é altamente
+ recomendado que você gere outra que precisa de uma frase-senha.
+ </para>
+ </tip>
+ <para>
+ Use os seguintes passos para gerar uma chave <abbrev>DSA</abbrev> usada
+ pelo Protocolo 2 do <application>SSH</application>. Ela é necessária
+ para uma conta <application>CVS</application> no servidor
+ <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 trabalhe com a
+ versão 2.0 do protoclo, digite na linha de comando:
+ </para>
+<screen><prompt>$ </prompt><command>ssh-keygen -t dsa</command></screen>
+ <para>
+ Aceite a localização de arquivo padrão no
+ <filename>~/.ssh/id_dsa</filename>. É altamente recomendado que você
+ defina e use uma frase-senha (<firstterm>passphrase</firstterm>)
+ para melhorar a segurança da sua chave. Entre com uma frase-senha
+ diferente da sua senha de conta e confirme digitando-a novamente.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Copie a sua nova chave para o arquivo correto digitando o seguinte
+ na linha de comando.
+ </para>
+<screen><prompt>$ </prompt><command>cat ~/.ssh/id_dsa.pub&gt;&gt;~/.ssh/authorized_keys</command></screen>
+ <note>
+ <para>
+ Verifique este comando com cuidado antes de pressionar a tecla
+ <guibutton>ENTER</guibutton>. Se o arquivo
+ <filename>~/.ssh/authorized_keys</filename> já existir, o conteúdo
+ do <filename>~/.ssh/id_dsa.pub</filename> irá ser adicionado ao
+ fim do arquivo <filename>~/.ssh/authorized_keys</filename>.
+ </para>
+ </note>
+ </listitem>
+ <listitem>
+ <para>
+ Mude as permissões do seu diretório <filename>~/.ssh</filename> e de
+ 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>Dica</title>
+ <para>
+ Você pode fazer com que o seu sistema lembre-se de sua frase-senha
+ para que você não tenha que digitar toda vez que acessar o servidor
+ <application>CVS</application>. Veja a documentação do programa
+ <application>ssh-add</application>.
+ </para>
+ </tip>
+ </section>
+ </section>
+ <section id="sn-cvs-config">
+ <title>Configurando Para Um Acesso CVS</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>configurando para 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>Evitando Digitações Repetitivas</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>evitando digitações repetitivas</secondary>
+ </indexterm>
+ <para>
+ Muitos comandos <application>CVS</application> precisam de certos
+ parâmetros de linha de comando para operar consistentemente. Ao invés de
+ digitá-los toda vez que o comando é usado, você pode salvar estes
+ parâmetros em um arquivo que o <application>CVS</application> irá ler
+ antes de executar a sua linha de comando.
+ </para>
+
+ <para>
+ Crie um arquivo chamado <filename>~/.cvsrc</filename> no seu diretório
+ home. Ele deve conter os seguintes comandos, um por linha:
+<screen><computeroutput>cvs -z3
+diff -uNp
+rdiff -uNp
+update -dP</computeroutput></screen>
+ </para>
+ </section>
+
+ <section id="sn-cvs-config-anon">
+ <title>Configurando para Acesso CVS Somente-Leitura</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>configurando acesso somente-leitura</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>acesso anônimo</secondary>
+ </indexterm>
+ <para>
+ Se o seu objetivo é efetuar download das várias documentações do &FC; e
+ renderizar em seu sistema, você precisará apenas de acesso
+ somente-leitura no repositório <application>CVS</application>. Siga as
+ instruções desta seção e então pule diretamente para a <xref
+ linkend="sn-cvs-cvscommands-co"/>.
+ </para>
+
+ <para>
+ Mude o diretório para onde você quer que seus arquivos do
+ <application>CVS</application> estejam localizados, e então 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>module-name</replaceable>
+<prompt>$ </prompt><command>cvs checkout</command> <replaceable>module-name</replaceable>
+<prompt>$ </prompt><command>cd</command> <replaceable>module-name</replaceable></screen>
+ <para>
+ Uma vez que você tenha obtido o módulo, não importa o que estiver em sua
+ variável <envar>CVSROOT</envar> porque o dado é armazenado no arquivo
+ <filename>CVS/Root</filename> em cada diretório do seu repositório
+ local. Enquanto o seu diretório de trabalho atual tiver um diretório
+ <filename>CVS/</filename>, o programa <application>CVS</application> irá
+ localizar automaticamente o repositório &FC;.
+ </para>
+ </section>
+
+ <section id="sn-cvs-config-author">
+ <title>Configurando Acesso CVS Leitura/Escrita</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>configurando acesso leitura/escrita</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>configurando acesso para autores</secondary>
+ </indexterm>
+ <para>
+ Para criar um novo documento ou modificar um já existente, você precisa
+ obter acesso leitura/escrita completo ao repositório CVS de
+ Documentação &FC;. Para detalhes completos sobre este processo, veja no
+ site <ulink
+ url="http://fedoraproject.org/wiki/DocsProject/NewWriters"><filename>http://fedoraproject.org/wiki/DocsProject/NewWriters</filename>.
+ Abaixo está um pequeno resumo:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Inscreva-se na <ulink
+ url="https://listman.redhat.com/mailman/listinfo/fedora-docs-list"><filename>fedora-docs-list</filename>
+ </ulink>, que é a lista principal do projeto.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Gere uma chave GNU Privacy Guard (<abbrev>GPG</abbrev>) para você se
+ identificar no projeto.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Registre uma conta no <ulink
+ url="http://bugzilla.redhat.com/"><filename>Bugzilla</filename>
+ </ulink>, se você já não tem uma. O <filename>Bugzilla</filename> é
+ o método que usamos para acompanhar bugs, mudanças e projetos.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Envie uma <ulink
+ url="http://fedoraproject.org/wiki/DocsProject_2fSelfIntroduction">apresentação
+ de si</ulink> na lista.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Depois que sua <ulink
+ url="http://fedoraproject.org/wiki/DocsProject_2fSelfIntroduction">apresentação
+ de si</ulink> for aprovada, seu acesso <application>CVS</application>
+ será garantido.
+ </para>
+
+ <para>
+ Todo autor, e isso inclui você depois da sua apresentação, recebe uma
+ variável <envar>$CVSROOT</envar> única para acessar o repositório
+ <application>CVS</application>:
+ </para>
+<screen><prompt>$ </prompt><command>export CVSROOT=:ext:</command><replaceable>seunome</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>
+ funcionando, você pode acessar o repositório:
+ </para>
+<screen><prompt>$ </prompt><command>cvs co -c</command></screen>
+ <para>
+ Você terá que digitar sua frase-senha para a sua chave
+ <application>SSH</application>. Pressione
+ <guibutton>ENTER</guibutton>
+ e você deverá receber uma lista de módulos que já estão no repositório.
+ </para>
+ </section>
+ </section>
+ <section id="sn-cvs-cvscommands">
+ <title>Comandos Básicos de CVS</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>comandos</secondary>
+ </indexterm>
+ <para>
+ Depois de configurar seu sistema para trabalhar com CVS, extraia os
+ módulos que você irá trabalhar.
+ </para>
+ <tip>
+ <title>Dica</title>
+ <para>
+ Para ver se você precisa de uma variável
+ <envar>$CVSROOT</envar>
+ configurada corretamente, ou um parâmetro
+ <option>-m </option>
+ <replaceable>repositório</replaceable>, veja se você tem um subdiretório
+ chamado <filename>CVS/</filename> no diretório atual.
+ </para>
+ <para>
+ Se você tem um diretório <filename>CVS/</filename>, o
+ <application>CVS</application> ignora totalmente a variável
+ <envar>$CVSROOT</envar> ou o parâmetro <option>-m</option>.
+ </para>
+ </tip>
+ <section id="sn-cvs-cvscommands-co">
+ <title>Extraindo Módulos</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>extraindo módulos</secondary>
+ </indexterm>
+ <para>
+ Você só precisar extrair um módulo uma vez. Depois que uma cópia local
+ do módulo estiver em seu sistema, ela estará em seu sistema.
+ </para>
+
+ <para>
+ Para extrair um módulo, use o seguinte comando:
+ </para>
+<screen><prompt>$ </prompt><command>cvs co</command> <replaceable>&lt;nome-do-modulo&gt;</replaceable></screen>
+ <para>
+
+ Por exemplo, para extrair o módulo
+ <computeroutput>example-tutorial</computeroutput>, mude o seu atual
+ diretório, e execute o seguinte comando:
+ </para>
+<screen><prompt>$ </prompt><command>cvs co example-tutorial</command></screen>
+ <para>
+ Um diretório chamado <filename>example-tutorial/</filename> é criado
+ dentro do diretório atual.
+ </para>
+
+ <para>
+ Se um nome de árvore não é especificado ao extrair um módulo, ele é
+ referenciado com a árvore <firstterm>HEAD</firstterm> do módulo
+ <application>CVS</application>.
+ </para>
+
+ <section id="sn-cvs-cvscommands-co-branch">
+ <title>Extraindo Árvores de Módulos</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>extrair módulos</secondary>
+ <tertiary>extraindo árvores</tertiary>
+ </indexterm>
+ <para>
+ Pense na árvore <application>CVS</application> como uma versão dos
+ arquivos para uma versão particular de um manual ou pacote.
+ </para>
+
+ <para>
+ Para extrair uma árvore de um módulo, use o seguinte comando:
+ </para>
+<screen><prompt>$ </prompt><command>cvs co</command> <option>-d</option> <replaceable>&lt;diretório&gt;</replaceable> <option>-r</option> <replaceable>&lt;nome-da-árvore&gt;</replaceable> <replaceable>&lt;nome-do-módulo&gt;</replaceable></screen>
+ <para>
+ Um diretório chamado <replaceable>&lt;diretório&gt;</replaceable> é
+ criado, e os arquivos da árvore
+ <replaceable>&lt;nome-da-árvore&gt;</replaceable> do módulo
+ <replaceable>&lt;nome-do-módulo&gt;</replaceable> são copiados para
+ este diretório.
+ </para>
+
+ <para>
+ Por exemplo, para extrair uma árvore chamada BRANCH-VERSION-1.2
+ do módulo <computeroutput>mymodule</computeroutput>, use o comando:
+ </para>
+<screen><prompt>$ </prompt><command>cvs co -d mymodule-1.2 -r BRANCH-VERSION-1.2 mymodule</command></screen>
+ <para>
+ A árvore BRANCH-VERSION-1.2 do módulo é extraída para o diretório
+ <filename>mymodule-1.2</filename> em seu sistema.
+ </para>
+
+ <para>
+ Para determinar que árvores e tags existem para um arquivo, use o
+ comando:
+ </para>
+<screen><prompt>$ </prompt><command>cvs status</command> <option>-v</option> <replaceable>&lt;nomedoarquivo&gt;</replaceable></screen>
+ <para>
+ Por exemplo, o status do arquivo <filename>foo.sgml</filename> é o
+ seguinte:
+ </para>
+<screen>
+<computeroutput>
+===================================================================
+File: foo.sgml Status: Up-to-date
+
+ Working revision: 1.47
+ Repository revision: 1.47 /cvs/docs/custom-guide/rhl-cg-en_US.sgml,v
+ Sticky Tag: (none)
+ Sticky Date: (none)
+ Sticky Options: (none)
+
+ Existing Tags:
+ BRANCH-VERSION-1.2 (branch: 1.25.2)
+</computeroutput>
+</screen>
+ <para>
+ Apenas as tags marcadas como árvores na segunda coluna da seção
+ <computeroutput>Existing Tags</computeroutput> (Tags Existentes) podem
+ ser extraídas como uma árvore.
+ </para>
+ </section>
+ </section>
+
+ <section id="sn-cvs-cvscommands-up">
+ <title>Atualizando Arquivos</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>atualizando arquivos</secondary>
+ </indexterm>
+ <para>
+ Para obter as últimas versões dos arquivos de um módulo, mude para o
+ diretório que contém os arquivos para o módulo e execute o comando:
+ </para>
+<screen><command>cvs update</command></screen>
+ <para>
+ Será efetuado o download das últimas versões de todos os arquivos no
+ módulo e colocado em sua cópia local. Se você notar algum conflito de
+ arquivo, veja a <xref linkend="sn-cvs-cvscommands-conflicts"></xref>.
+ </para>
+ </section>
+
+ <section id="sn-cvs-cvscommands-commit">
+ <title>Enviando Arquivos</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>enviando arquivos</secondary>
+ </indexterm>
+ <para>
+ Depois de modificar os arquivos em sua versão local do módulo, envie-os
+ (commit) para salvar as mudanças no servidor
+ <application>CVS</application>:
+ </para>
+<screen><prompt>$ </prompt><command>cvs commit</command> <option>-m</option> &quot;<replaceable>mensagem de log</replaceable>&quot; <replaceable>nomedoarquivo</replaceable></screen>
+ <note>
+ <para>
+ Se você prefere escrever as mensagens de log com seu editor de textos
+ preferidos, como definido nas variáveis de mabiente $VISUAL ou
+ $EDITOR, apenas omita o parâmetro <userinput>-m &quot;mensagem
+ de log&quot;</userinput>. O documento já terá comentários descrevendo
+ a mudança; você não precisa removê-los quando for escrever seu
+ próprio texto.
+ </para>
+ </note>
+
+ <para>
+ A mensagem de log deve ser o quanto mais descritiva possível para que
+ você e qualquer outra pessoa trabalhando no módulo entenda o que foi
+ mudado. Usar uma mensagem de log como por exemplo <userinput>atualizado
+ alguns arquivos</userinput> não descreve necessariamente o que foi
+ mudado e não irá ajudá-lo no futuro. Se você está corrigindo um bug, use
+ a referência do <application>Bugzilla</application>.
+ </para>
+
+ <para>
+ O <replaceable>&lt;nomedoarquivo&gt;</replaceable> pode ser um arquivo,
+ uma série de arquivos separados por espaço, ou um grupo de arquivos
+ especificados com wildcards (coringas) como por exemplo
+ <filename>*.png</filename> ou <filename>foo-*.sgml</filename>.
+ </para>
+
+ <para>
+ Se nehum arquivo ou grupo de arquivos é especificado no comando
+ <command>commit</command>, todas as mudanças de todos os tipos serão
+ enviadas ao servidor. O comando é recursivo e incluirá também mudanças
+ em subdiretórios do módulo. Tenha cuidado quando usar o comando
+ <command>commit</command> sem especificar arquivos porque você pode não
+ lembrar exatamente que arquivos foram modificados.
+ </para>
+
+ <para>
+ Se você notar algum conflito de arquivo, veja a <xref
+ linkend="sn-cvs-cvscommands-conflicts"></xref>.
+ </para>
+ </section>
+
+ <section id="sn-cvs-cvscommands-add">
+ <title>Adicionando Arquivos</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>adicionando arquivos</secondary>
+ </indexterm>
+ <para>
+ Para adicionar um arquivo a um módulo, crie o arquivo em sua cópia local
+ e execute o seguinte comando:
+ </para>
+<screen><prompt>$ </prompt><command>cvs add</command> <replaceable>arquivo-a-adicionar</replaceable></screen>
+ <para>
+ Depois de adicionar o arquivo, você precisará aplicar
+ (<command>commit</command>) o comando <command>add</command> para copiar
+ o arquivo para o servidor:
+ </para>
+<screen><prompt>$ </prompt><command>cvs commit</command> <option>-m</option> &quot;<replaceable>mensagem de log</replaceable>&quot; <replaceable>arquivo-a-adicionar</replaceable></screen>
+ </section>
+
+ <section id="sn-cvs-cvscommands-admin">
+ <title>Lidando com Arquivos Binários</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>arquivos binários</secondary>
+ </indexterm>
+ <para>
+ A maioria dos arquivos mais comuns são arquivos de texto simples, mas
+ algumas vezes arquivos binários também são arquivados. O programa
+ <application>cvs</application> reconhece as extensões de arquivos mais
+ comuns como por exemplo <filename>.png</filename> ou
+ <filename>.jpg</filename>, então o <application>cvs</application>
+ geralmente &quot;faz a coisa certa&quot;.
+ </para>
+
+ <para>
+ Quando uma cópia de arquivo é extraída do repositório, o
+ <application>cvs</application>procura palavras-chave especiais nele como
+ por exemplo &quot;<computeroutput>$id:$</computeroutput>&quot; e
+ substitui a linha por um valor gerado, como o número de versão do
+ arquivo.
+ </para>
+
+ <para>
+ Esta substituição de palavras-chave geralmente corrompe arquivos
+ binários, então ela deve ser desligada se o
+ <application>cvs</application> não reconhece seu arquivo como binário.
+ Para marcar seu arquivo como binário, deixando a substituição de
+ palavras-chave desligada, use o comando:
+ </para>
+<screen width="60"><prompt>$ </prompt><command>cvs</command> <option>admin</option> <option>-kk</option> <replaceable>arquivo</replaceable></screen>
+ <para>
+ Note que o arquivo deve estar contido no repositório
+ <abbrev>CVS</abbrev> antes do comando <option>admin</option> ser usado.
+ Isto é certo porque a substituição de palavra-chave é feia quando o
+ arquivo é extraído para o repositório local, e não quando o arquivo é
+ aplicado ao repositório.
+ </para>
+ <tip>
+ <title>Recuperando um arquivo binário</title>
+ <para>
+ Se você colocar um arquivo binário no repositório e perceber que ele
+ está corrompido quando extraído, não entre em pânico. Simplesmente use
+ o comando <option>admin</option> como descrito acima, remova sua cópia
+ local de arquivo, e extraia-o de novo.
+ </para>
+ </tip>
+ </section>
+
+ <section id="sn-cvs-cvscommands-rm">
+ <title>Removendo Arquivos</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>removendo arquivos</secondary>
+ </indexterm>
+ <para>
+ Se um arquivo não é mais preciso em um módulo, use o comando
+ <command>remove</command> para removê-lo de sua cópia local e então
+ aplique <command>commit</command> a remoção no servidor. Meso que o
+ arquivo seja removido da versão atual do módulo, uma cópia arquivada
+ ainda é guardada no servidor para que possa ser recolocada a qualquer
+ momento com o comando <command>add</command>.
+ </para>
+<screen><prompt>$ </prompt><command>cvs rm -f</command> <replaceable>arquivo-a-remover</replaceable></screen>
+ <para>
+ Depois de remover o arquivo, você precisa aplicar
+ (<command>commit</command>) a remoção:
+ </para>
+<screen><prompt>$ </prompt><command>cvs commit</command> <option>-m</option>&quot;<replaceable>mensagem de log</replaceable>&quot; <replaceable>arquivo-a-remover</replaceable></screen>
+ <para>
+ Você pode usar wildcards (coringas) no comando <command>commit</command>
+ para identificar os arquivos removidos. Eles devem ser especificados
+ com um nome de arquivo exato.
+ </para>
+
+ <para>
+ Se você precisa renomear um arquivo, é melhor você renomear o arquivo no
+ servidor <application>CVS</application> para que o histórico de versões
+ do arquivo seja preservado. Quando precisar renomear um arquivo, envie
+ um e-mail para
+ <ulink url="mailto:cvsdocs-administrator@fedora.redhat.com"><filename>cvsdocs-administrator@fedora.redhat.com</filename>
+ </ulink> pedindo para o arquivo ser renomeado.
+ </para>
+ </section>
+
+ <section id="sn-cvs-cvscommands-status">
+ <title>Estado dos Arquivos</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>estado dos arquivos</secondary>
+ </indexterm>
+ <para>
+ As vezes é necessário visualizar o <firstterm>estado</firstterm> de um
+ arquivo em um módulo <application>CVS</application>. Para ver o estado
+ de um arquivo, use o comando:
+ </para>
+<screen><prompt>$ </prompt><command>cvs status</command> <replaceable>arquivo</replaceable></screen>
+ <para>
+ O estado de um arquivo de repositório pode ser:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term><computeroutput>Up-to-date</computeroutput> (Atualizado)</term>
+ <listitem>
+ <para>
+ Sua revisão do arquivo é idêntica a última versão do servidor
+ <application>CVS</application>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>Locally Modified</computeroutput> (Localmente Modificada)</term>
+ <listitem>
+ <para>
+ Você atualizou a última revisão do servidor, mas você modificou o
+ arquivo em seu sistema.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>Locally Added</computeroutput> (Adicionado Localmente)</term>
+ <listitem>
+ <para>
+ Você adicionou o arquivo com o comando <command>cvs add</command>
+ mas não aplicou (commit) a adição do arquivo.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>Locally Removed</computeroutput> (Removido Localmente)</term>
+ <listitem>
+ <para>
+ Você removeu o arquivo com o comando <command>cvs remove</command>
+ mas ainda não aplicou (commit) a remoção.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>Needs Checkout</computeroutput> (Precisa de Extração)</term>
+ <listitem>
+ <para>
+ Uma novaversão do arquivo está no servidor e precisa ser obtida.
+ Apesar do estado incluir a palavra extrair, ele na verdade
+ significa que você precisa atualizar seus arquivos com o comando
+ <command>cvs update</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>Needs Patch</computeroutput> (Precisa de Patch)</term>
+ <listitem>
+ <para>
+ A revisão do seu repositório local precisa de um patch para a
+ última revisão do servidor. Use o comando <command>cvs
+ update</command> para resolver.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>Needs Merge</computeroutput> (Precisa de Mesclagem)</term>
+ <listitem>
+ <para>
+ Uma nova revisão existe no servidor e sua versão local contém
+ modificações que ainda não foram aplicadas. Este estado geralmente
+ aparece quando você não tem a última revisão do arquivo e mesmo
+ assim o edita.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>File had conflicts on merge</computeroutput> (Há conflitos no Arquivo durante a Mesclagem)</term>
+ <listitem>
+ <para>
+ Parecido com o <computeroutput>Needs Merge</computeroutput>,
+ exceto pelo fato de que você tentou usar o comando <command>cvs
+ update</command>. A diferença não pôde ter sido resolvida
+ automaticamente. Veja a <xref
+ linkend="sn-cvs-cvscommands-conflicts"></xref> para mais
+ informações em como resolver conflitos.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>Unknown</computeroutput> (Desconhecido)</term>
+ <listitem>
+ <para>
+ O servidor <application>CVS</application> não sabe de nada sobre
+ este arquivo. Ele pode não ter sido adicionado ou removido
+ localmente e nunca pôde ter sido aplicado ao servidor. Este estado
+ geralmente ocorre para arquivos que você não deve aplicar (commit)
+ ao <application>CVS</application> como por exemplo um
+ <filename>generated-index.sgml</filenamee> ou arquivos que você
+ pode querer adicionar ao repositório mas não usou o comando
+ <command>cvs add</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="sn-cvs-cvscommands-conflicts">
+ <title>Resolvendo Conflitos</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>resolvendo conflitos</secondary>
+ </indexterm>
+ <para>
+ Se você modifica um arquivo em uma mesma região que foi modificada e
+ aplicada por outra pessoa primeiro, você provavelmente irá ver uma
+ mensagem parecido com a abaixo quando aplicar o arquivo ou atualizar a
+ sua cópia local do módulo:
+ </para>
+<screen>
+<computeroutput>
+RCS file: /cvs/docs/module-name/filename.sgml,v
+retrieving revision 1.12
+retrieving revision 1.13
+Merging differences between 1.12 and 1.13 into filename.sgml
+rcsmerge: warning: conflicts during merge
+cvs server: conflicts found in filename.sgml
+C filename.sgml
+</computeroutput>
+</screen>
+ <para>
+ Para resolver o conflito, abra o arquivo, procure por
+ <computeroutput>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</computeroutput>
+ e determine que versão do conteúdo é correta. Por exemplo:
+ </para>
+<screen>
+<computeroutput>
+&lt;para&gt;
+Uma sentença.
+&lt;&lt;&lt;&lt;&lt;&lt;&lt; filename.sgml
+A sentença que foi mudada na cópia em trabalho.
+=======
+A mesma sentença que foi mudada diferentemente e aplicada.
+&gt;&gt;&gt;&gt;&gt;&gt;&gt; 1.13
+&lt;/para&gt;
+</computeroutput>
+</screen>
+ <para>
+ O conteúdo entre
+ <computeroutput>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</computeroutput>,
+ e <computeroutput>=======</computeroutput> é o conteúdo da sua cópia
+ local. O conteúdo entre o <computeroutput>=======</computeroutput> e
+ <computeroutput>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</computeroutput> é o
+ conteúdo do servidor.
+ </para>
+
+ <para>
+ Resolva o conflito editando a sua cópia, e aplicando (commit) o arquivo.
+ </para>
+ </section>
+
+ <section id="sn-cvs-cvscommands-summary">
+ <title>Sumário</title>
+ <indexterm>
+ <primary>cvs</primary>
+ <secondary>comandos</secondary>
+ <tertiary>sumário dos</tertiary>
+ </indexterm>
+ <para>
+ Todos os comandos assumem que você esteja no diretório apropriado do
+ módulo <application>CVS</application>.
+ </para>
+ <table frame="all" id="tb-cvs-basic-commands">
+ <title>Comandos Básicos de 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>&lt;nome-do-módulo&gt;</replaceable></command>
+ ou <command>cvs co <replaceable>&lt;nome-do-módulo&gt;</replaceable></command>
+ </entry>
+ <entry>Cria um diretório chamado
+ <replaceable>&lt;nome-do-módulo&gt;</replaceable> com o conteúdo do módulo no
+ diretório</entry>
+ </row>
+ <row>
+ <entry><command>cvs co -d
+ <replaceable>&lt;diretório&gt;</replaceable> -r <replaceable>&lt;nome-da-árvore&gt;</replaceable><replaceable>&lt;nome-do-módulo&gt;</replaceable></command>
+ </entry>
+ <entry>Cria o diretório <replaceable>&lt;diretório&gt;</replaceable>
+ com o conteúdo da árvore <replaceable>&lt;nome-da-árvore&gt;</replaceable>
+ do módulo <replaceable>&lt;nome-do-módulo&gt;</replaceable> módulo.</entry>
+ </row>
+ <row>
+ <entry><command>cvs update</command> ou <command>cvs up</command>
+ </entry>
+ <entry>Atualiza seus arquivos com os últimos arquivos do servidor
+ CVS.</entry>
+ </row>
+ <row>
+ <entry><command>cvs add <replaceable>&lt;arquivo&gt;</replaceable></command>
+ </entry>
+ <entry>Adiciona o novo arquivo "arquivo" ao servidor CVS</entry>
+ </row>
+ <row>
+ <entry><command>cvs commit -m "Minha mensagem"
+ <replaceable>&lt;arquivo&gt;</replaceable></command>
+ </entry>
+ <entry>Atualiza o arquivo
+ <replaceable>&lt;arquivo&gt;</replaceable> com a última cópia de
+ seu computador</entry>
+ </row>
+ <row>
+ <entry><command>cvs log <replaceable>&lt;arquivo&gt;</replaceable></command>
+ </entry>
+ <entry>Visualiza as mensagens de commit do arquivo <replaceable>&lt;arquivo&gt;</replaceable>
+ </entry>
+ </row>
+ <row>
+ <entry><command>cvs status <replaceable>&lt;arquivo&gt;</replaceable></command>
+ </entry>
+ <entry>Visualiza o estado do arquivo, como por exemplo
+ <computeroutput>Localmente Modificado</computeroutput>
+ </entry>
+ </row>
+ <row>
+ <entry><command>cvs status -v <replaceable>&lt;arquivo&gt;</replaceable></command>
+ </entry>
+ <entry>Visualiza as tags e árvores existentes para o arquivo</entry>
+ </row>
+ <row>
+ <entry><command>cvs diff <replaceable>&lt;arquivo&gt;</replaceable></command>
+ </entry>
+ <entry>Mostra a diferença entre sua cópia local do arquivo e a
+ última versão do arquivo na árvore</entry>
+ </row>
+ <row>
+ <entry><command>cvs diff -r1.1 -r1.2 <replaceable>&lt;arquivo&gt;</replaceable></command>
+ </entry>
+ <entry>Mostra a diferença do arquivo da versão 1.1 para a 1.2</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Para mais informações, leia o manual CVS disponível em seu sistema em
+ <filename>/usr/share/doc/cvs-<replaceable>&lt;número-de-versão&gt;</replaceable>/cvs.ps</filename>
+ (a versão do CVS pode variar) e visite a página do CVS disponível em
+ <ulink url="http://www.cvshome.org/">http://www.cvshome.org/</ulink>.
+ </para>
+ <tip>
+ <title>Dica</title>
+ <para>
+ Como o <application>CVS</application> está usando o
+ <application>ssh</application> para conectar-se ao servidor
+ <application>CVS</application>, você será perguntando por uma senha
+ antes de executar a instrução <application>CVS</application>. Se você
+ quiser configurar o seu sistema para que você não tenha que digitar a
+ senha, veja a página
+ <ulink url="http://redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-openssh-client-config.html"><citetitle>&RH;
+ Linux 9 Customization Guide</citetitle> </ulink> para detalhes em como
+ usar o <command>ssh-agent</command>.
+ </para>
+ </tip>
+ </section>
+ </section>
+</chapter>