Concurrent Version System (uma introdução)

Propaganda
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