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">&...;.
Abaixo est�� um pequeno resumo:
</para>
<itemizedlist>
<listitem>
<para>
Inscreva-se na <ulink
url="https://listman.redhat.com/mailman/listinfo/fedora-docs-list&qu...
</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&l...
</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&qu...
de si</ulink> na lista.
</para>
</listitem>
</itemizedlist>
<para>
Depois que sua <ulink
url="http://fedoraproject.org/wiki/DocsProject_2fSelfIntroduction&qu...
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@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><<<<<<<</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/</ul...;.
</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/...;
Linux 9 Customization Guide</citetitle> </ulink> para detalhes em
como
usar o <command>ssh-agent</command>.
</para>
</tip>
</section>
</section>
</chapter>