Concurrent Version
System (uma introdução)
Seminário do curso de Programação eXtrema
Alfredo Goldman
Departamento de Ciência da Computação
15 de agosto de 2001
Resumo
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
2
Primeiros passos

Criar um projeto.

Escolher um diretório
/usr/local/cvs

Inicializar as variáveis de ambiente (opcional)
export CVSROOT=/usr/local/cvs

Escolher um editor (comentários)
export CVSEDITOR=vi (opcional)

Inicializar o cvs
cvs init
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
3
Primeiros passos

Colocar os arquivos iniciais.

Ir para o diretório onde estão os arquivos
cd /home/gold/projetoCD
onde devem estar apenas os arquivos do projeto !

Inserir os arquivos em um projeto cvs
cvs import NomeSubDiretório Fornecedor Versão
caso sem variáveis de ambiente:
cvs -d /home/local/cvs import -m “Comentários sobre esta versão”
NomeSubDiretório Fornecedor Versão
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
4
Dica

Dar um nome (alias) ao projeto.

Ir para um diretório temporário.
cd algumdir

Abrir o projeto modules
cvs checkout CVSROOT/modules

Acrescentar ao arquivo CVSROOT/modules
Atalho NomeSubDiretório

em seguida
cvs commit -m “Alias Atalho adicionado” modules
cd ..
cvs release -d CVSROOT
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
5
Usando CVS

(na mesma máquina)
Algumas opções.

Recuperar a última versão disponível.
cd algumdir
cvs checkout NomeSubDiretório
cd NomeSubDiretório

Recuperar a versão xyz
cvs checkout -r xyz NomeSubDiretório

Atualizar um arquivo
cvs commit ClasseX.java
cvs commit // atualiza todos
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
6
Usando CVS

(na mesma máquina)
Mas se aparece uma mensagem de erro.
...
cvs commit: Up-to-date chech failed for ‘ClasseX.java’
cvs [commit aborted]
...

O arquivo em questão foi modificado!
O arquivo deve ser corrigido antes de ser salvo
 Pode se tentar o

cvs update ClasseX.java
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
7
Usando CVS

(na mesma máquina)
Outros comandos úteis.

Inserção/remoção
cvs add ClasseY.java
quando o commit for feito este arquivo será adicionado
cvs remove ClasseZ.cpp
Diretórios também podem ser adicionados
mas não podem ser removidos

Histórico de modificações
cvs log ClasseX.java
opções -d restringe por data
-w restringe por autor
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
8
Usando CVS

(na mesma máquina)
Outros comandos úteis.

Estado atual de um arquivo
cvs status -v ClasseY.java
(mostra também as versões estáveis do arquivo, tags)

Diferença entre versões de arquivo
cvs diff -r 1.2 -r 1.5 ClasseZ.java

Prefixos do cvs
U - updated
P - patched
M - modified
C - Conflict
15 / Agosto / 2001
T - tagged
? - Unknown
Copiegauche par Alfredô Goldman
9
Usando CVS

(em outra máquina)
Por rsh.

Utiliza-se a opção -d
cvs -d :ext:[gold@]jaca.ime.usp.br:/usr/local/cvs checkout JB
(para os próximos acessos não é necessário o -d)

Cliente/servidor (pserver)

coloca-se no ar o servidor
(seção 2.9.3, edita-se o inetd.conf, /etc/services,...)

cria-se um arquivo de senhas
($CVSROOT/CVSROOT/passwd)

Para acessar:
cvs -d :pserver:[email protected]:/usr/local/cvs login [logout]
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
10
Outros conceitos CVS

Marcas (tags)

para marcar versões estáveis
cvs tag NomeDoTag [arquivos]

Ramificações

O projeto pode seguir por várias direções.
15 / Agosto / 2001
Copiegauche par Alfredô Goldman
11
Download

Concurrent Version System (uma introdução)