Escolar Documentos
Profissional Documentos
Cultura Documentos
Agosto2007
SUMRIO
1TEORIA ................................................................................................................................................................4 1.1O QUE O CVS? ...............................................................................................................................................4 1.2 FUNCIONAMENTO DO CVS ..................................................................................................................................4 1.3 TERMINOLOGIA...................................................................................................................................................5 2UTILIZAO DO CVS NO ECLIPSE............................................................................................................10 2.1 CONFIGURANDO O REPOSITRIO...........................................................................................................................10 2.2 ACESSANDO UM NOVO PROJETO..........................................................................................................................14 2.3 ENVIANDO ARQUIVOS PARA O CVS.....................................................................................................................21 2.4 CRIANDO UM BRANCH/RAMO ............................................................................................................................24
1 TEORIA
1.1 OqueoCVS?
OCVS,ouConcurrentVersionSystem(SistemadeVersesConcorrentes),umsistemade controledeversoquepermitequesetrabalhecomdiversasversesdearquivosorganizados emumdiretrioelocalizadoslocalouremotamente,mantendosesuasversesantigaseos logs(registros)dequemequandomanipulouosarquivos. especialmentetilparasecontrolarversesdeumsoftwareduranteseudesenvolvimento, ouparacomposiocolaborativadeumdocumento.1
1.2 FuncionamentodoCVS
OCVSutilizaumaarquiteturaclienteservidor:ondeumservidorarmazenaaversoatualdo projeto e seu histrico, e os clientes se conectam a esse servidor para obter uma cpia completadoprojeto,trabalharnessacpiaeentodevolversuasmodificaes. Tipicamente,clienteeservidordevemestarconectadosporumaredelocaldecomputadores, oupelaInternet,masoclienteeoservidorpodemestarnamesmamquinaseaconfigurao doCVSforfeitademaneiraadaracessoaversesehistricodoprojeto,apenasausurios locais.OservidorgeralmenteexecutaemumsistemaaoestiloUnix/Linux,enquantoocliente CVSpoderodarqualquersistemaoperacional. Vriosclientespodemeditarcpiasdomesmoprojetodemaneiraconcorrente.Quandoeles confirmamsuasalteraes,oservidortentafazerumafuso(merge)delas.Seissonofor possvel,porexemploporquemaisdeumclientetentouexecutaralteraesnamesmalinha dodocumento,oservidorapenasexecutaaprimeiraalteraoeinformaaoresponsvelpela segundaalteraoquehouveconflito,equesernecessrioumaintervenohumana.Sea validao,alteraoforbemsucedida,onmerodeversodecadaclientearquivoenvolvido incrementado, e o servidor CVS escreve uma linha de observao (fornecida pelo usurio),comadataeoautordasalteraesemseusarquivosdelog. Clientespodemcomparardiferentesversesdeumarquivo,pedirumhistricocompletodas
1 Texto adaptado de http://pt.wikipedia.org/wiki/CVS METODOLOGIACELEPAR
5 alteraes,oubaixarumadeterminada versodoprojeto,oudeumadataespecfica, no necessariamenteaversomaisatual. Clientestambmpodemusarocomando"update"paramantersuascpiaslocaisatualizadas comaltimaversodoservidor.Issoeliminaanecessidadedesefazerdiversosdownloadsde todooprojeto. O CVS tambm podemanter diferentes estados doprojeto. Porexemplo, uma verso do softwarepodeserumdessesestados,usadoparacorreodebugs,enquantooutraverso,que est realmente sob desenvolvimento, sofrendo alteraes e tendo novas funcionalidades implementadas,formaooutroestado.
1.3 Terminologia
A terminologia do CVS considera um projeto (conjunto de arquivos relacionados) gerenciados pelo CVS como um mdulo, que consiste em uma hierarquia de diretrios contendoosarquivosdoprojeto.UmservidorCVSpodegerenciardiversosmdulos;ele armazenatodososmdulosadministradosporeleemseurepositrio.Acpiadomduloque foibaixadaparaumclientechamadacpiadetrabalho(oucheckout).
Abaixo,estolistadosalgunstermosemingls,quefazempartedaterminologiaCVS,eseu significado:
Checkout:normalmenteusadoparadenominaroprimeirodownloaddeummdulo inteiroapartirdorepositrioCVS.
METODOLOGIACELEPAR
Revision:anumeraoatribudapeloCVSacadamodificaodeumarquivo. Tag: um nome simblico dado para um conjunto de arquivos em um instante especficoduranteodesenvolvimento.
Geralmenteumatagcriadapeloprojetistautilizandoumaconvenoparanomearastags,a qual,poderconteronomedoprogramaeouonmerodarelease.Ento,porexemplo,ocvs 1.9 poderia ser nomeado como cvs19, cvs19, cvs1_9, enfim, depender da conveno adotadanoprojeto.Afiguraabaixoilustraoefeitodeumatagnorepositrio.
Observandoemumalinhahorizontalaaplicaodeumatag,temseoseguinteresultado:
METODOLOGIACELEPAR
8 Ouseja,atagaplicadarefereseaosarquivos:arquivoAverso1.3,arquivoBverso1.10, arquivoCverso1.4,arquivoDverso1.17.earquivoEverso1.8. Dessa maneira obtmse uma foto do repositrio em determinado momento do desenvolvimentodoproduto.
Branch:umaramificaonodesenvolvimento,usadaparadescreveroprocessode diviso dos arquivos deum projeto, emlinhas dedesenvolvimento independentes. Podeservirparatestedeumanovafuncionalidadeouparaprojetosdestinadosaum clienteespecfico.tambmchamadoderamo.Afiguraabaixoilustraacriaode umnovobranchdodesenvolvimento,utilizadoparaaplicarcorreesdecdigo,quea linhaprincipaldedesenvolvimentoatualnocomporta.Maistardeessascorrees aplicadasnobranchcriado,seroincorporadaslinhadedesenvolvimentoprincipal.
Umaoutrafaseondeacriaodeumbranchsefaznecessria,quandoprecisodesenvolver umanovafuncionalidadequeimplicaemumgrandeimpactonocdigoatual.Sendoassim, criase umbranchdedesenvolvimento paraessafuncionalidade novaeaps finalizado o desenvolvimento dessa funcionalidade, incorporase o cdigo do branch na linha de desenvolvimentoprincipal. Afiguraabaixoindicaomomentodacriaodobranch.
METODOLOGIACELEPAR
2 UTILIZAODOCVSNOECLIPSE
ParapoderutilizaroCVSnoEclipse,algumasconfiguraessonecessrias.Estedocumento temcomoobjetivoopassoapassodaconfiguraodoCVS,dentrodoEclipse,eanavegao dearquivosbaixadosdele.
2.1Configurandoorepositrio
O Eclipse possui diversas perspectivas de trabalho. Para configurar o usurio do CVS precisoirnaperspectivadoCVSconformeafiguraAbrindoPerspectivaCVS:
METODOLOGIACELEPAR
10
METODOLOGIACELEPAR
11
Selecionando Perspectiva
AutomaticamenteoEclipsecarregaraperspectivadoCVSapsocliquenoboto OK. Dentro dessa perspectiva devese clicar com o boto direito dentro da aba CVS Repositories e escolher as opes New >Repository Location... conforme indica a figura NovoRepositrio:
METODOLOGIACELEPAR
12
Novo Repositrio
Aps isso, aparecer a tela Add CVS Repository, onde devem ser configurados: o endereodoservidor(cvs.celepar.parana),odiretriodocvs(/p/CVS),ousurioeasenha conformeexemplificaafiguraConfiguraodeRepositrio:
METODOLOGIACELEPAR
13
Configurao do Repositrio
ApspreenchimentodoscamposclicarnobotoFinishparaconcluiraconfigurao doCVS.
2.2AcessandoumnovoProjeto
Comoexplicadoanteriormente,oEclipsetemdiversasperspectivaseaescolhidapara
METODOLOGIACELEPAR
14 visualizaodeprojetosaJava.Paramudarparaessaperspectivaprecisoescolheraopo Java(default)conformeilustraafiguraSeleodePerspectivaJava:
METODOLOGIACELEPAR
15
Viso Navegador
UmanovaabaNavigatoriraparecer,cliquecomobotodireitoeemNew>Project conformemostraafiguraNovoProjeto:
METODOLOGIACELEPAR
16
Novo Projeto
A tela da figura Checkout do CVS ir aparecer. Nela preciso escolher a opo CheckoutProjectsfromCVSeclicaremNext.
METODOLOGIACELEPAR
17
Checkout do CVS
Na tela seguinte, ilustrada na figura Escolhendo Repositrio, mostra uma lista de repositrios(usuriosconfiguradosnaqueleEclipseparaacessaroCVS)edeveseescolhero usurioparaqual,oanalistaresponsvelpeloprojeto,solicitouapermissodeacesso.
METODOLOGIACELEPAR
18
Escolhendo Repositrio
METODOLOGIACELEPAR
19 Aps clique no boto Next ir aparecer uma tela, ilustrada na figura Escolhendo Projeto, que lista todos os projetos contidos no CVS. Devese escolher o projeto que o analistarequisitouautorizaoeclicaremFinish.
Escolhendo Projeto
METODOLOGIACELEPAR
20 Ser criada na aba Navigator uma pasta com o nome do projeto. Dentro dela encontramsetodososarquivosreferentesaesseprojeto.Parasaberquandoumdeterminado arquivofoiatualizadopelaltimavez,bastaclicarcomobotodireitoemcimadoarquivoe iremTeam>ShowResourceHistorydeacordocomafiguraMostrandooHistrico:
Mostrando Histrico
2.3EnviandoarquivosparaoCVS
OprocedimentodeenviodearquivosparaoCVSdependedousurioterpermissode
METODOLOGIACELEPAR
METODOLOGIACELEPAR
22
Commit de Arquivo
NoprximopassosurgirajanelaencontradanafiguraMensagemdeCommit.
METODOLOGIACELEPAR
23
Mensagem de Commit
2.4CriandoumBranch/Ramo
Acriaodeumbranchutilizandooeclipse,seguemalgunspassosbemsimples.Oprimeiro
METODOLOGIACELEPAR
24
Criando um Branch
METODOLOGIACELEPAR
AfiguraTrabalhandonoBranchilustraobranchrecmcriado.
Trabalhando no Branch
Comparandocomalinhaprincipaldedesenvolvimento:
Trabalhando no HEAD
Observe que ao lado do nome do projeto o eclipse mostra o nome do ramo (branch correcoes) ou o nome do servidor ([10.15.23.103]) caso esteja na linha principal de desenvolvimento(HEAD). Aps efetuar as modificaes no branch, normalmente desejase fazer o merge ou agrupamentodafuncionalidade/correodebugsnoprojetoprincipal. Paraisso,deveseclicarcomobotodireitodomousesobreottulodoprojetoeseguiros menus:Team-> Merge.SurgirumajanelacomoindicaafiguraMergedoBranch:
METODOLOGIACELEPAR
26
Merge do Branch
METODOLOGIACELEPAR
27
Trocando de Branch
Aseguir,selecionarobranchquesedesejatornaratual,ouaindaHEAD,casodesejarirparaa linhadedesenvolvimentoprincipal.
METODOLOGIACELEPAR
28
Seleo do Projeto
METODOLOGIACELEPAR