Manual de CVS: diferenças entre revisões

Origem: Wikilivros, livros abertos por um mundo aberto.
[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
LeonardoG (discussão | contribs)
Sem resumo de edição
 
Índice
Linha 1: Linha 1:
= Índice =
= Conceitos básicos =


* [[Manual_de_CVS: Conceitos básicos|Conceitos básicos]]
* Projeto: conjunto de fontes ou documentos, organizados de maneira hierárquica.
* [[Manual_de_CVS: Uso do CVS em Linux|Uso do CVS em Linux]]
* Repositório: conjunto lógico de projetos.
** [[Manual_de_CVS: Criando o repositório|Criando o repositório]]
** [[Manual_de_CVS: Exportando a variável de ambiente CVSROOT:|Exportando a variável de ambiente CVSROOT:]]
** [[Manual_de_CVS: Importando os fontes|Importando os fontes]]
** [[Manual_de_CVS: Pegando os arquivos|Pegando os arquivos]]
** [[Manual_de_CVS: Pondo arquivos no repositório|Pondo arquivos no repositório]]
*** [[Manual_de_CVS: Caso seja arquivo novo|Caso seja arquivo novo]]
** [[Manual_de_CVS: Removendo arquivos|Removendo arquivos]]
** [[Manual_de_CVS: Caso o projeto seja modificado|Caso o projeto seja modificado]]
** [[Manual_de_CVS: Checando alterações no projeto|Checando alterações no projeto]]
* [[Manual_de_CVS: Uso rápido do CVS em Windows|Uso rápido do CVS em Windows]]
** [[Manual_de_CVS: Baixe um software de CVS|Baixe um software de CVS]]
** [[Manual_de_CVS: Gerando a chave criptografada|Gerando a chave criptografada]]
** [[Manual_de_CVS: Criando um arquivo .bat|Criando um arquivo .bat]]
** [[Manual_de_CVS: Dentro do software de CVS|Dentro do software de CVS]]
** [[Manual_de_CVS: Usando os comandos do CVS|Usando os comandos do CVS]]
* [[Manual_de_CVS: Observações|Observações]]


[[Categoria: Informática]]
= Uso do CVS em Linux =

Primeiro é necessário saber que o CVS pode ser acessado pelo [[Console]] ou outro terminal das distribuições do Linux, enquanto no [[Windows]] é necessário um [[software]] a parte.

== Crie o repositório ==

$ mkdir diretorio_do_projeto/
$ cd diretorio
$ cvs init

== Exporte a variável de ambiente CVSROOT: ==

$ export CVSROOT=diretorio_do_projeto/

ou

$ export CVSROOT=<usuario>@<maquina>:diretorio_do_projeto/

Ou usa a opção -d do comando "cvs":

$ cvs -d [<usuario>@<maquina>:]diretorio_do_projeto/

== Importando os fontes ==

Caso os fontes do projeto já existam (antes de se criar o repositório CVS), importe seus fontes:
Entre no diretório onde se encontra seu projeto e digite

$ cvs import -m "Breve Descrição" nome_do_projeto desenvolvedor

Caso não seja utilizada a opção -m para descrever o projeto, o CVS abrirá um editor de texto para que isso seja feito.

== Pegando os arquivos (co = checkout) ==

$ cvs co diretorio_do_projeto

ou

$ cvs co nome_do_projeto

Isso criará o diretório com o nome do repositório localmente.

Se mais de um usuário forem trabalhar no mesmo projeto ao mesmo tempo, cada um deve rodar esse comando em um diretório distinto.

Se for um diretório num servidor remoto:

$ cvs -d usuario@maquina:diretorio_do_projeto co diretorio_do_projeto

== Pondo arquivos ==

=== Caso seja arquivo novo ===

$ cvs add arquivo_novo
$ cvs update

Muito importante, ainda mais se tratando que mais de uma pessoa está usando e alterando.

$ cvs commit

== Removendo arquivos ==

$ cvs remove arquivo
$ rm arquivo
$ cvs commit

== Caso o projeto seja modificado ==

$ cvs update
$ cvs commit

Para manter o repositório atualizado.

'''Nunca esquecer o cvs update e o cvs commit !!!'''

== Checando alterações no projeto ==

Para acompanhar, durante o desenvolvimento, a versão do arquivo que está sofrendo alteração, o CVS dispõe de um diff . Assim, o comando:

$ cvs diff

verifica e mostra quais linhas de todos os arquivos do projeto sofreram alteração.

Para checar as alterações de um só arquivo:

$ cvs diff arquivo


= Uso rápido do CVS em Windows =

== Baixe um software de CVS ==

Existem três ótimos softwares para CVS no Windows que são muito usados e todos comk licença [[GNU GPL|GPL]], são: [[WinCVS]] (http://www.wincvs.org), [[TortoiseCVS]] e o [[CygWin]].

Para segurança do usuário/desenvolvedor sempre use conexão [[criptografia|criptografada]]. Por exemplo, com o software [[PuTTY]] (http://www.chiark.greenend.org.uk/~sgtatham/putty) é muito fácil de usar.

== Gerando a chave criptografada ==

Rode o puttygen.exe, gere as chaves [[chave pública|pública]] e [[chave privada|privada]] e salve.

== Criando um arquivo .bat ==

<pre>
@echo off
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs

plink.exe -ssh -pw sua-senha-aqui %CMD_LINE_ARGS%
</pre>

Este arquivo é necessário para que o plink.exe encontre a sua chave. (Geralmente é colocado dentro do C:/ junto com o plink.exe), senão é necessário editar sua localização no script acima.

== Dentro do software de CVS ==

Agora você precisa editar nas ''preferrências'' a localização do '''arquivo .bat''', '''chave pública''' e da '''chave privada'''.

== Usando os comandos do CVS ==

Em modo anônimo você só pode ler arquivos assim:
cvs -d:pserver:anonymous@cvs.NOME_DO_PROJETO.net:/LOCALIZACAO_DO_PROJETO checkout

Com acesso de escrita você pode checar os módulos com o comando acima, e alterar e reenviar ao repositório (commit) assim:

cvs -d:ssh:NOME_DO_USUARIO@cvs.NOME_DO_PROJETO.net:/LOCALIZACAO_DO_PROJETO -q commit -m "MENSAGEM_PARA_DOC" NOME_DO_MODULO_ALTERADO

= Observações =

O CVS realiza um controle muito eficiente de versões e é capaz, inclusive, de realizar alterações no mesmo arquivo, caso duas pessoas editem o mesmo arquivo ao mesmo tempo.

Se houver conflito, entretanto, o sistema deixará a decisão para ser tomada pelos humanos.

Será dado um aviso que o mesmo ponto do arquivo foi alterado, com um log do que foi feito por cada usuário, e alguém vai ter que usar o dicernimento e escolher qual das duas alterações deverá ser efetivada.

Revisão das 12h32min de 20 de novembro de 2004