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