Vetorh - 2011
CVS
Vetorh - 2011
CVS
Vetorh - 2011
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:
Update: atualizao da cpia local do trabalho atravs do download das modificaes feitas por
outros usurios no repositrio.
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
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)
CVS
Vetorh - 2011
CVS
Vetorh - 2011
CVS
Vetorh - 2011
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
CVS
Vetorh - 2011
CVS
Vetorh - 2011
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
CVS
Vetorh - 2011
CVS
Vetorh - 2011
Reviso (Revision)
CVS
O que uma reviso?
Vetorh - 2011
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:
Vetorh - 2011
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:
CVS
Como baixar uma reviso especfica?
4) Resultado:
Vetorh - 2011
CVS
Vetorh - 2011
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
CVS
Como baixar um branch?
2) Resultado:
Vetorh - 2011
CVS
Vetorh - 2011
Tag
CVS
O que uma Tag?
Vetorh - 2011
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?
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:
Vetorh - 2011
CVS
Resultado com conflito:
Vetorh - 2011
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.
CVS
Como destravar (Unlock) um arquivo?
Vetorh - 2011
CVS
Situao incomum:
Vetorh - 2011
CVS
Vetorh - 2011
Obrigado!