Вы находитесь на странице: 1из 45

CVS

Vetorh - 2011

CVS Concurrent version system


(Sistema de verses concorrentes)
[WinCVS 2.0.9.1]

CVS
Vetorh - 2011

Pra que serve o CVS?

Permite que vrias pessoas alterem um conjunto de arquivos simultaneamente, controlando e


organizando a concorrncia para modificao dos mesmos.
DO2009
EVENTO 2010
NOME DONOME
EVENTO

CVS
Vetorh - 2011

Como funciona o CVS?

Um servidor centraliza os arquivos e gerencia o


versionamento das alteraes. Responsvel : TSIC

As aplicaes cliente baixam, alteram ou adicionam


arquivos e enviam para o servidor.

O CVS somente considera os arquivos que esto registrados, ou seja, arquivos que o servidor
reconhece para fazer o versionamento.

CVS
Terminologia

Vetorh - 2011

Abaixo, esto listados alguns termos que fazem parte da terminologia CVS, e seu significado:

Module: uma hierarquia de diretrios. Geralmente um projeto de software existe como um


simples mdulo dentro do repositrio.

Repositrio: local em que so armazenados todos os mdulos.

Checkout: normalmente usado para denominar o primeiro download de um mdulo inteiro a


partir do repositrio CVS.

Commit: envio das modificaes feitas pelo usurio ao repositrio CVS.

Update: atualizao da cpia local do trabalho atravs do download das modificaes feitas por
outros usurios no repositrio.

Revision: a numerao atribuda pelo CVS a cada modificao de um arquivo.

Tag: um nome simblico dado para um conjunto de arquivos em um instante especfico durante
o desenvolvimento.

Branch: uma ramificao no desenvolvimento, usada para descrever o processo de diviso dos
arquivos de um projeto em linhas de desenvolvimento independentes. Podendo servir para teste de
uma nova funcionalidade , separar projetos por verso, etc.

Merge: a fuso das modificaes feitas por diversos usurios em um nico arquivo local.

CVS
Limitaes do CVS

Vetorh - 2011

Os arquivos e diretrios em um repositrio CVS no podem ser renomeados a partir do cliente,


eles devem ser explicitamente removidos e readicionados.

Cada usurio deve baixar os mdulos do repositrio para seu computador. Copiar manualmente
os arquivos de outro computador mantm as configuraes do usurio antigo, e por
conseqncia as alteraes ficam registradas para o usurio antigo.

CVS
Vetorh - 2011

Baixar mdulos do
repositrio

CVS
Vetorh - 2011

1)

Acesso ao repositrio pela intranet

CVS
Vetorh - 2011

2) Navegar pelo repositrio para obter o caminho completo do diretrio

CVS
Vetorh - 2011

3) Selecionar o caminho completo do diretrio

CVS
Vetorh - 2011

4) No CVS, escolher a opo Checkout Module para baixar o diretrio

CVS
Vetorh - 2011

5) Informar o caminho do servidor e o nome do diretrio que ser criado com os arquivos
baixados.

CVS
Vetorh - 2011

6) Resultado

CVS
Vetorh - 2011

Adicionar arquivos

CVS
Vetorh - 2011

1) Novos arquivos so apresentados como arquivos desconhecidos (Unknown) no


CVS

CVS
Vetorh - 2011

2) Selecionar o arquivo e adicionar conforme tipo do arquivo:


Texto, Binrio ou Unicode*

* Formato de texto nico, padronizado.

CVS
Vetorh - 2011

3) O arquivo marcado como adicionado mas ainda no est salvo no servidor

OBS: Todo arquivo em vermelho indica que existem alteraes que no foram salvas no servidor. Isto ocorre
com arquivos adicionados, alterados, excludos ou que apresentaram conflitos no processo de Merge.

CVS
Vetorh - 2011

4) Salvar o arquivo (commit) no servidor

CVS
Vetorh - 2011

5) Informar motivo do commit.

CVS
Vetorh - 2011

Reviso (Revision)

CVS
O que uma reviso?

Vetorh - 2011

Revision: a numerao atribuda pelo CVS a cada modificao de um arquivo.

OBS: a reviso mais recente, de numerao maior, que no est abaixo de nenhum branch, conhecida como Head
ou Linha de produo. No exemplo acima, reviso 1.6.

CVS
Como baixar uma reviso especfica?
1) Selecionar o arquivo e escolher a opo Update

Vetorh - 2011

CVS
Como baixar uma reviso especfica?
2) Configuraes do Update:

Do not recurse into sub-folders = No considerar subdiretrios.

Vetorh - 2011

(Essa opo tem efeito somente

quando for selecionado um diretrio e no um arquivo..)

Create missing directories.. = Baixa novos diretrios que se encontram no servidor.


opo tambm tem efeito somente quando for selecionado um diretrio e no um arquivo..)

Get the clean copy = Garante que no ser feito Merge com as alteraes locais do
arquivo. Pega uma cpia limpa do servidor.

(Essa

CVS
Como baixar uma reviso especfica?

Vetorh - 2011

3) Opes do Update:

By revision/tag/branch = assinala se deve baixar uma reviso, tag ou branch. No caixa de


texto ao lado deve ser informado a numerao da reviso.

No preciso informar mais nada.. Pressionar o boto Ok para baixar o arquivo.

CVS
Como baixar uma reviso especfica?
4) Resultado:

Vetorh - 2011

CVS
Vetorh - 2011

Como baixar a reviso mais recente (linha de produo)?

Mesmo processo feito para baixar a reviso porm no item Opes do Update assinalar
Reset any sticky tags/date/kopts. No preciso informar a numerao da reviso.

CVS
Vetorh - 2011

Branch

CVS
O que um Branch?

Vetorh - 2011

Uma ramificao no desenvolvimento, usada para descrever o processo de diviso dos arquivos de
um projeto em linhas de desenvolvimento independentes. utilizada para separar as alteraes de
cada verso.

CVS
Vetorh - 2011

Como baixar um branch?


1) Mesmo processo feito para baixar uma reviso mas em vez de informar a numerao da
reviso, informar a descrio do branch.

CVS
Como baixar um branch?
2) Resultado:

Vetorh - 2011

CVS
Vetorh - 2011

Tag

CVS
O que uma Tag?

Vetorh - 2011

Um nome simblico dado para um conjunto de arquivos em um instante especfico durante o


desenvolvimento. (uma foto)

CVS
Como baixar uma tag?
1) Mesmo processo feito para baixar uma reviso ou branch mas em vez de informar a
numerao da reviso ou branch, informar a descrio da tag.

Vetorh - 2011

CVS
Como baixar uma tag?
2) Resultado:

Vetorh - 2011

CVS
A diferena entre Branch e Tag:

Vetorh - 2011

No possvel salvar alteraes dentro da Tag pois ela uma foto do momento do
repositrio. Se for necessrio modificar um arquivo para uma verso diferente da linha de
produo sempre ser preciso baixar um Branch ou repassar as alteraes para um Branch.

OBS: Devido ao calendrio de liberaes das verses, os branchs so gerados antes de que a liberao para o
mercado de fato ocorra. Por isso preciso verificar se necessrio incluir a alterao que foi realizada na
linha de produo em algum branch.

CVS
Como repassar as alteraes para o branch?

Mesmo processo de como baixar um branch, atravs da opo de Update, porm


preenchendo as informaes do Merge.
1- Configuraes do update

Vetorh - 2011

CVS
2- Opes do update
Indica qual branch ser baixado, onde ser includo o repasse.

Vetorh - 2011

CVS
Vetorh - 2011

3- Opes do merge
Na paleta Merge Options, selecionar a opo Merge with differences between two
ver./tags e informar o intervalo das alteraes (numerao das revises) que se deseja incluir no
branch informado.

Importante: as alteraes da reviso 1.5 no sero repassadas para o branch, apenas as alteraes feitas na reviso
1.6. Isto por que a primeira reviso informada apenas o ponto de incio do intervalo e suas alteraes no so
consideradas. Isto vale para qualquer intervalo informado.

OBS: o intervalo informado pode conter vrias revises. Como exemplo, poderia ser informado um intervalo com incio na
reviso 1.4 e fim na reviso 1.6. Nesta situao, as alteraes realizadas nas revises 1.5 e 1.6 seriam repassados
para o branch.

CVS
Resultado sem conflito:

Se no ocorreram conflitos durante o Merge, o fonte pode ser salvo (commit).

Vetorh - 2011

CVS
Resultado com conflito:

Vetorh - 2011

Ocorreram conflitos durante o Merge, o fonte NO pode ser salvo.


No foi possvel juntar todas as alteraes numa nica reviso sem que parte do contedo do arquivo entrasse em
conflito com o contedo de outra reviso. Nesta situao, o conflito deve ser corrigido manualmente. Possveis solues:

Atravs do Beyond Compare comparar o resultado do Merge com a reviso anterior e escolher manualmente qual
das alteraes deve permanecer no arquivo.

Baixar o Branch novamente (cpia limpa) e fazer as alteraes que seriam do repasse, sem o uso do processo
merge.

Caso o conflito ocorra por que duas ou mais pessoas esto alterando o mesmo contudo, usar o recurso de Lock
de arquivo. (prximos slides)

CVS
Aps corrigir os conflitos:

Vetorh - 2011

Aps corrigir manualmente os conflitos e salvar novamente o arquivo, o CVS passa a apresentar o estado do arquivo
como Resolvido, indicando que poderia ser salvo no repositrio.
ATENO: O CVS no sabe e no tem como avaliar se os conflitos foram de fato corrigidos. O que ele faz marcar
como Resolvido o arquivo que estava em estado de conflito e que foi editado aps isso.

CVS
Para que serve a funo Lock\Unlock
(travar e destravar) em um arquivo?

Vetorh - 2011

Serve para garantir que ningum far alteraes em um determinado arquivo. Este recurso
garante que somente a pessoa que travou o arquivo poder salv-lo (commit) no CVS.

CVS
Como travar (Lock) um arquivo no CVS?

Vetorh - 2011

O Lock do arquivo feito por meio de uma macro especfica (no uma macro que vem junto com o CVS).
Quando instalada no CVS, ela fica disponvel no menu Macros\Tcl\Lock File, conforme imagem abaixo. Para
travar um arquivo basta selecion-lo no CVS e acessar o menu Macros\Tcl\Lock File.

IMPORTANTE: ao salvar (commit) um arquivo no CVS, automaticamente o arquivo destravado (unlock).


OBS: caso no tenha a macro disponvel, acesse http://sourcelnx.senior.com.br/cvs/ e na opo Arquivo instale o programa TCL.
Em seguida copie a macro que est disponvel em \\sourcelnx\Arquivos\CVS\Macros para o diretrio de macros que est no
mesmo diretrio da instalao do CVS no seu computador (exemplo: C:\Arquivos de programas\GNU\WinCvs 1.3\Macros).

CVS
Como destravar (Unlock) um arquivo?

Basta selecionar o arquivo e acessar o menu Trace\Unlock selection.

Vetorh - 2011

CVS
Situao incomum:

Baixar uma reviso que no existe.. arquivo desaparece.

Vetorh - 2011

CVS
Vetorh - 2011

Obrigado!

Вам также может понравиться