docs-common/common cvs-pt_BR.xml,NONE,1.1
Hugo Cisneiros (eitch)
fedora-docs-commits at redhat.com
Thu May 4 18:24:09 UTC 2006
Author: eitch
Update of /cvs/docs/docs-common/common
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29386
Added Files:
cvs-pt_BR.xml
Log Message:
Finished pt_BR translation
--- NEW FILE cvs-pt_BR.xml ---
<!-- $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>>~/.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><nome-do-modulo></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><diretório></replaceable> <option>-r</option> <replaceable><nome-da-árvore></replaceable> <replaceable><nome-do-módulo></replaceable></screen>
<para>
Um diretório chamado <replaceable><diretório></replaceable> é
criado, e os arquivos da árvore
<replaceable><nome-da-árvore></replaceable> do módulo
<replaceable><nome-do-módulo></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><nomedoarquivo></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> "<replaceable>mensagem de log</replaceable>" <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 "mensagem
de log"</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><nomedoarquivo></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> "<replaceable>mensagem de log</replaceable>" <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 "faz a coisa certa".
</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 "<computeroutput>$id:$</computeroutput>" 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>"<replaceable>mensagem de log</replaceable>" <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 at fedora.redhat.com"><filename>cvsdocs-administrator at 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><<<<<<<</computeroutput>
e determine que versão do conteúdo é correta. Por exemplo:
</para>
<screen>
<computeroutput>
<para>
Uma sentença.
<<<<<<< filename.sgml
A sentença que foi mudada na cópia em trabalho.
=======
A mesma sentença que foi mudada diferentemente e aplicada.
>>>>>>> 1.13
</para>
</computeroutput>
</screen>
<para>
O conteúdo entre
<computeroutput><<<<<<<</computeroutput>,
e <computeroutput>=======</computeroutput> é o conteúdo da sua cópia
local. O conteúdo entre o <computeroutput>=======</computeroutput> e
<computeroutput>>>>>>>></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><nome-do-módulo></replaceable></command>
ou <command>cvs co <replaceable><nome-do-módulo></replaceable></command>
</entry>
<entry>Cria um diretório chamado
<replaceable><nome-do-módulo></replaceable> com o conteúdo do módulo no
diretório</entry>
</row>
<row>
<entry><command>cvs co -d
<replaceable><diretório></replaceable> -r <replaceable><nome-da-árvore></replaceable><replaceable><nome-do-módulo></replaceable></command>
</entry>
<entry>Cria o diretório <replaceable><diretório></replaceable>
com o conteúdo da árvore <replaceable><nome-da-árvore></replaceable>
do módulo <replaceable><nome-do-módulo></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><arquivo></replaceable></command>
</entry>
<entry>Adiciona o novo arquivo "arquivo" ao servidor CVS</entry>
</row>
<row>
<entry><command>cvs commit -m "Minha mensagem"
<replaceable><arquivo></replaceable></command>
</entry>
<entry>Atualiza o arquivo
<replaceable><arquivo></replaceable> com a última cópia de
seu computador</entry>
</row>
<row>
<entry><command>cvs log <replaceable><arquivo></replaceable></command>
</entry>
<entry>Visualiza as mensagens de commit do arquivo <replaceable><arquivo></replaceable>
</entry>
</row>
<row>
<entry><command>cvs status <replaceable><arquivo></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><arquivo></replaceable></command>
</entry>
<entry>Visualiza as tags e árvores existentes para o arquivo</entry>
</row>
<row>
<entry><command>cvs diff <replaceable><arquivo></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><arquivo></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><número-de-versão></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>
More information about the Fedora-docs-commits
mailing list