0% acharam este documento útil (0 voto)
31 visualizações25 páginas

Tutorial de Uso do WinCvs

1) O documento fornece instruções sobre como usar o WinCvs, um cliente gráfico para o sistema de controle de versão CVS. 2) Ele explica como configurar o WinCvs, fazer checkouts de projetos, alterar arquivos, atualizar mudanças, fazer commits e usar recursos como branches e tags. 3) O documento também discute problemas comuns e suas soluções.
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOC, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
31 visualizações25 páginas

Tutorial de Uso do WinCvs

1) O documento fornece instruções sobre como usar o WinCvs, um cliente gráfico para o sistema de controle de versão CVS. 2) Ele explica como configurar o WinCvs, fazer checkouts de projetos, alterar arquivos, atualizar mudanças, fazer commits e usar recursos como branches e tags. 3) O documento também discute problemas comuns e suas soluções.
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOC, PDF, TXT ou leia on-line no Scribd

Pontifcia Universidade Catlica do Rio Grande do Sul

Faculdade de Informtica GAPH - Grupo de Apoio ao Projeto de Hardware

TUTORIAL WINCVS

Karine de Pinho Peralta


(kperalta@[Link])

Porto Alegre, 20 de agosto de 2004.

Sumrio
1) Abrindo o WinCvs ......................................................................................................... 3 2) Configurando o WinCvs para uso ................................................................................ 3 3) Usando o WinCvs ........................................................................................................... 6 3.1) Listando os arquivos do repositrio ............................................................... 6 3.2) Checkout .......................................................................................................... 7 3.3) Alterando um arquivo ..................................................................................... 9 3.4) Update ............................................................................................................. 10 3.5) Commit ........................................................................................................... 11 3.6) Logs ................................................................................................................. 11 3.7) Adicionando arquivos ao repositrio ........................................................... 13 3.8) Removendo arquivos do repositrio ............................................................ 14 3.9) Adicionando novos projetos ao repositrio ................................................. 14 3.10) Branches ....................................................................................................... 15 3.10.1) Criando branches ......................................................................... 16 3.10.2) Recuperando branches ................................................................ 16 3.11) Tag's ............................................................................................................. 18 3.11.1) Criando um tag ............................................................................. 18 3.11.2) Capturando um tag ...................................................................... 19 3.11.3) Deletando um tag .......................................................................... 19 3.12) Release .......................................................................................................... 19 3.13) Explore Selection .......................................................................................... 20 3.14) Status e Status selection ............................................................................... 20 3.15) Graph Selection - evoluo das verses .................................................... 21 3.16) Diferena entre dois arquivos ..................................................................... 21 4) Verses ........................................................................................................................... 23 5) Problemas com WinCvs ............................................................................................... 24

5.1) Senha de outro usurio .................................................................................. 24 5.2) Horrios adiantados ...................................................................................... 24 1) Abrindo o WinCvs: Menu Iniciar Programas WinCvs WinCvs

2) Configurando o WinCvs para uso

Ao iniciar o WinCvs, uma janela WinCvs Preferences ser aberta. Esta janela tambm pode ser aberta atravs do menu Admin Preferences... (tecla de atalho: Ctrl + F1).

Os campos em branco devem ser preenchidos com os seguintes contedos: Authentication Path Host address User name CVSROOT ssh Local onde est o repositrio (/home/cvs_usr/projetos) Endereo da Leros ([Link]) Usurio normal de login Preenchido medida que os outros dados 3

vo sendo informados Ao selecionar a opo ssh no campo Authentication, o boto Settings ficar habilitado. Ao clicar neste boto aparecer uma janela pedindo para que o usurio localize o arquivo [Link] que deve ser utilizado pelo WinCvs. Este arquivo encontra-se no diretrio C:\cygwin\bin\[Link]

que pode ser localizado tambm usando o boto

Por ltimo, na guia CVS da janela WinCvs Preferences, o usurio deve certificar-se de que o item Show CVS console (open TTY) esteja selecionado.

H a possibilidade de o item Show CVS console (open TTY) no esteja na guia CVS. Neste caso, este item encontra-se na guia General mesmo, como no exemplo abaixo.

3) Usando WinCvs O CVS um ambiente que possibilita que vrios usurios tenham acesso aos mesmos arquivos. Consiste na existncia de um repositrio, que um lugar onde ficam armazenados todos os projetos, e a partir deste os usurios trabalham. O WinCvs uma das principais ferramentas grficas para acesso ao servio de CVS, j que no incio os usurios de CVS encontravam dificuldade para trabalhar com linhas de comando. Mais informaes nos sites [Link] e [Link]. O uso consiste em copiar um projeto a partir do repositrio (checkout) para um diretrio local, alterar os arquivos existentes dentro deste e ento enviar de volta para o repositrio o novo projeto com os arquivos modificados, substituindo o projeto anterior (commit). aconselhvel que antes de executar um commit o usurio execute o comando update, que garante que a verso na qual ele est trabalhando a ltima existente no repositrio. O programa possui um browser no lado esquerdo que indica as pastas presentes em determinado diretrio. Ao selecionar uma pasta, so exibidos na janela maior ( direita) os arquivos existentes dentro desta. H tambm uma janela de sada (Output), que informa ao usurio sobre o status das operaes feitas no repositrio. Por exemplo, se aps uma operao qualquer aparecer a mensagem
***** CVS exited normally with code 1 *****

por que ocorreu algum erro ou algum warning. Deve-se ento verificar na prpria janela de sada o que aconteceu. Caso contrrio, a mensagem exibida
***** CVS exited normally with code 0 *****

3.1)

Listando os arquivos do repositrio

Para saber quais so os projetos existentes no repositrio deve-se acessar a Leros (IP: [Link]) via Cygwin ou X-Win32, e abrir o diretrio cd /home/cvs_usr/projetos Para logar via Cygwin deve-se executar o comando ssh [Link]. Cada diretrio listado um projeto, com exceo do CVSROOT, que o nome de uma varivel de ambiente que indica onde est o repositrio

3.2)

Checkout:

O checkout serve para o usurio copiar o projeto no qual vai trabalhar para um diretrio local escolhido por ele. Para executar esta operao no WinCvs basta clicar com o boto direito em um diretrio no browser e escolher a opo Checkout module. Ao fazer isso, aparecer uma janela Checkout settings que pede que o usurio informe o nome do projeto do qual quer fazer checkout.

Pode ser que o WinCvs pea para escolher um diretrio para o qual ser feito o checkout.

Para a maioria das operaes feitas no repositrio ou para ter acesso s informaes referentes aos projetos existentes neste, aparecer uma tela solicitando uma senha de acesso. Esta a mesma utilizada para logar na kriti.

As vezes deseja-se fazer um checkout para um diretrio que esteja previamente protegido por tags ou branches. Desta forma, ao ser feito o checkout, o arquivo continuar protegido pelo tag, no podendo ser alterado. Para que esse problema no ocorra, ao ser feito o checkout deve ser setada a opo Reset any sticky date/tag/-k options. Isso garante que o projeto baixado no est sobre a proteo do tag ou branch.

3.3)

Alterando um arquivo:

Aps isso, uma cpia do projeto desejado ser criada no local informado anteriormente pelo usurio. nesta cpia local que devem ser feitas as alteraes. Para modificar um arquivo basta dar dois cliques para abri-lo. Aparecer ento uma janela que pergunta ao usurio como ele deseja abrir o arquivo. Aps, pressionar OK e modificar o arquivo, no esquecendo de salv-lo ao concluir as alteraes.

3.4)

Update:

Como j foi dito anteriormente, quando se executa o comando checkout, uma cpia do projeto existente no repositrio feita para um diretrio local, escolhido previamente pelo usurio. nesta cpia que as alteraes desejadas devem ser feitas. Terminado o trabalho, o novo projeto, com as modificaes, deve ser enviado de volta para o repositrio a fim de que os outros usurios tenham acesso nova verso. Para isso, basta executar o comando commit. Entretanto, o cvs um ambiente onde vrios usurios podem trabalhar simultaneamente no mesmo projeto. Para evitar conflito nas verses salvas no repositrio, caso dois programadores faam modificaes no mesmo projeto e executem um commit, que existe o comando update. A execuo deste comando faz com que o cvs faa uma avaliao na verso existente no repositrio para aquele arquivo e a verso que o usurio tem. Assim, caso a verso em posse do programador seja a desatualizada, o cvs faz as alteraes para que a verso que ser salva seja a mais recente. A execuo do comando update no pe em risco as ultimas alteraes feitas pelo usurio, pois apenas atualiza a verso a ser modificada pelo usurio. Para executar o comando basta clicar com o boto direito no projeto que est no browser e selecionar a opo Update selection (Ctrl + U). Ao invs de executar o comando update no projeto todo, h a possibilidade de executlo em um arquivo isolado. Aps salvar o arquivo, o cone correspondente no WinCvs muda de cor, indicando que o arquivo foi modificado. Se as alteraes desejadas foram concludas, basta clicar com o boto direito sobre o arquivo e selecionar a opo Update selection. Aparecer ento a janela Update settings e basta pressionar OK. Ser solicitada a senha e se tudo ocorrer de acordo, o arquivo est atualizado.

10

3.5) Commit: Aps ter alterado o projeto e ter recuperado a verso mais atual do documento (update), o usurio deve salvar o projeto de volta no repositrio. Essa a funcionalidade do comando commit. Para isso, basta clicar com o boto direito do mouse no projeto correspondente no browser e selecionar a opo Commit selection (Ctrl + M). Ao fazer isso, aparecer uma janela Commit settings, encarregada pelo arquivo de logs do cvs. Nesta janela o usurio deve dar um parecer sobre o projeto, o que foi modificado ou corrigido, por exemplo. Feito isso, basta dar OK, informar a senha, que ser solicitada novamente, e est pronto. A nova verso do projeto (ou arquivo) est no repositrio disponvel para os outros usurios. O comando commit, assim como o update, pode ser executado sobre um arquivo apenas, no necessitando atualizar no repositrio todo o projeto de uma s vez.

3.6) Logs: O cvs possui um arquivo de logs que armazena informaes tais como quem foi o ltimo usurio a modificar um projeto, em que horrio e quais as alteraes feitas por ele. Para isso basta clicar com o boto direito no arquivo do qual deseja-se obter informaes e selecionar a opo Log selection. Os logs de cada arquivo so individuais, portanto a opo no est disponvel para o projeto como um todo.

11

O log pode ser visualizado na janela de sada (output), localizada na parte inferior do WinCvs.

12

H tambm a possibilidade de se verificar quem foi o ltimo usurio que alterou cada linha de um arquivo. Essa a funcionalidade do annotate, ver quem fez o que, em que linha e quando.

Ao selecionar OK e colocar a senha, abrir um arquivo com o cdigo correspondente e o nome do ltimo usurio que modificou cada linha, bem como o horrio desta modificao.

3.7) Adicionando arquivos ao repositrio: Para adicionar um arquivo a um projeto j existente, o primeiro passo fazer uma cpia local do projeto em questo (checkout) e ento copiar o arquivo a ser inserido para este diretrio. Caso o usurio j tenha executado o checkout previamente, interessante executar um update no diretrio para garantir que esteja trabalhando na ltima verso do projeto. Aps, selecionar o arquivo e ir at o menu Modify Add selection (para arquivos textos) ou menu Modify Add binary (para arquivos binrios) e inserir a senha. No caso de incluso de vrios arquivos, este procedimento deve ser feito para cada um. Se no houver mais incluses a serem feitas, basta executar a seqncia Update/Commit no projeto para que os novos arquivos sejam salvos no repositrio.

3.8) Removendo arquivos do repositrio:

13

Para remover um arquivo de um projeto j existente, deve-se primeiro executar um checkout no projeto. Assim como na insero de arquivos, recomendado executar um update no diretrio caso o usurio j tenha feito um checkout anteriormente. Feito isso, deve-se selecionar o arquivo a ser removido e ir ate o menu Modify Remove. No caso de excluso de vrios arquivos, este procedimento deve ser feito para cada um. Caso no haja mais arquivos a serem removidos, basta executar a seqncia Update/Commit no diretrio local para que o repositrio seja atualizado com a nova verso do projeto, sem os arquivos que foram removidos.

3.9) Adicionando novos projetos ao repositrio: Para adicionar um novo projeto ao repositrio, deve-se criar uma pasta localmente (que ser o projeto que ficar dentro do repositrio) e adicionar nela os arquivos desejados. Quando todos os arquivos tiverem sido movidos para o diretrio, basta clicar com o boto direito sobre a pasta e selecionar a opo import module. Aparecer uma janela Import filter, que avalia os arquivos que esto dentro do diretrio. Basta pressionar Continue, depois OK na janela Import settings (que a janela onde deve ser definido o nome do projeto), inserir a senha e ento o novo projeto est no repositrio.

14

3.10) Branches: Branches nada mais so que linhas paralelas de desenvolvimento, ou seja, uma cpia do projeto inicial. Desta forma o desenvolvimento do projeto desviado, fazendo com que exista uma verso estvel disponvel (main trunk) e uma verso na qual esto sendo feitas a alteraes (branch). Para exemplo do uso de branches, podemos supor um software cuja verso 1.0 est pronta e foi liberada. Para se chegar verso 2.0, as alteraes no cdigo do software devem ser feitas no main trunk, que a linha principal de desenvolvimento. Entretanto, foram encontrados problemas na verso 1.0. Visto que o cdigo que est no main trunk est sendo modificado para se chegar verso 2.0, as correes no podem ser feitas nesta linha de desenvolvimento. Ento, faz-se necessrio a criao de um branch a partir da verso 1.0. Este contm apenas os arquivos usados para a criao desta verso, sem as eventuais alteraes necessrias para se obter a 2.0. Os arquivos do branch podem ento ser alterados e os problemas corrigidos, tendo como conseqncia as verses 1.1, 1.2, etc. A qualquer momento o branch pode ser incorporado ao main trunk.

15

3.10.1) Criando Branches: Para usar este recurso no WinCvs basta selecionar um diretrio, ir ao menu Create a branch. Aparecer a seguinte janela: Modify

Aps escolher um nome para o branch, pressionar OK e informar a senha, ser criada uma verso, cujo identificador ser o nome informado e o contedo ser o presente no projeto no momento da criao. Caso mais algum arquivo seja adicionado ao projeto normal, o branch no ser alterado e vice-versa.

3.10.2) Recuperando Branches: Para capturar um branch deve ser feita uma operao semelhante de checkout. Logo, o usurio deve escolher um local, clicar com o boto direito e selecionar a opo Checkout module. Deve-se ento informar o nome do projeto do qual foi feito o branch e na guia Checkout Options selecionar a opo By revision/tag/branch e colocar o nome do branch.

16

Caso o usurio queira fazer um checkout do projeto normal sobrescrevendo o branch, deve certificar-se que a opo Reset any sticky tags/date/kopts esteja setada.

17

Ao selecionar OK e informar a senha, ser criado no local escolhido um diretrio cujo nome o mesmo do projeto, porm os arquivos que esto dentro deste so os que estavam no momento que o branch foi criado. Caso os arquivos presentes no branch sejam diferentes dos que esto no repositrio, exibida uma mensagem na janela de sada avisando quais arquivos foram atualizados no repositrio e que no esto presentes no branch. 3.11) Tags: Um tag um nome simblico dado a uma determinada verso do projeto e usado para delimitar etapas do desenvolvimento de um projeto. Geralmente utiliza-se um tag para criar uma verso do projeto que esteja funcionando, ou que compreenda a finalizao de um determinado conjunto de tarefas que estavam pendentes. Assim, com o nome do tag possvel recuperar o projeto a partir do nome abreviado. Existem dois tipos de tag: o tag normal e o rtag. O primeiro aplicado ao que for selecionado. Se for selecionado um projeto, ser aplicado todos os arquivos do projeto. Se for selecionado apenas um arquivo, ser aplicado a apenas aquele arquivo. J a opo rtag aplica-se ao mdulo inteiro, ou seja, mesmo que seja selecionado um arquivo, o tag ser atribudo ao projeto inteiro. 3.11.1) Criando um tag: Um tag aplicado a um projeto, portanto basta selecionar um diretrio e ir ate o menu Modify Create a tag on selection (menu Remote Create a tag by module, no caso do rtag), informar o nome do tag e dar OK. Caso o usurio queira sobrescrever um tag j existente basta selecionar a ltima opo Overwrite existing tags with the same name.

3.11.2) Capturando um tag: 18

Para capturar um tag deve-se saber o nome dele. O procedimento semelhante ao de capturar um branch (que segue a mesma linha de um checkout). Primeiro deve-se selecionar no browser o diretrio para o qual deseja-se baixar o arquivo e depois clicar com o boto direito do mouse e escolher a opo checkout module. Aparecer uma janela de checkout onde se deve informar o nome do projeto a ser copiado. Feito isso, na guia checkout options da prpria janela deve-se selecionar a opo By revision/tag/branch e informar o nome do tag.

3.11.3) Deletando um tag: Para excluir um tag e o seu contedo basta selecionar o diretrio denominado por este, ir ate o menu Modify Delete a tag e informar o nome do mesmo.

3.12) Release: Mostrou-se anteriormente que um tag nada mais que uma verso temporria de um projeto que ainda est em desenvolvimento. Entretanto, depois de finalizada a verso funcional deve-se criar um release, que nada mais que uma verso definitiva de todos os arquivos do projeto. Vamos estipular uma poltica interna ao grupo para a criao de releases. Visto que um release como se fosse um tag cujos arquivos no devem ser alterados, sempre que desejar-se criar um release de determinado projeto deve-se criar um tag, bastanto adicionar ao nome deste o sufixo Release. Assim fica mais simples saber quais so os releases de cada projeto.

Depois de criado, o release no pode ser modificado.

19

3.13) Explore Selection: Existe uma opo no browser, quando se clica com o boto direito do mouse em um projeto, chamada Explore selection. A finalidade deste comando abrir o Windows Explorer no diretrio desejado pelo usurio. Foi visto anteriormente que para inserir-se um arquivo no repositrio, por exemplo, necessrio copiar o mesmo para o diretrio local de trabalho. Esta opo facilita o trabalho do usurio, j que abre direto no diretrio desejado.

3.14) Status e Status selection: possvel ver as verses, tags e branches de todos os arquivos de um projeto usando o comando Status. Para isso basta fazer o checkout de um projeto, selecion-lo, clicar com o boto direito e selecionar a opo Status. Na janela de sada (localizada na parte inferior do WinCvs) ser exibido o status de cada um dos arquivos juntamente com suas verses e o nome dos tags e branchs de que fazem parte. Tambm pode-se verificar o status individual de cada arquivo. Basta selecionar um arquivo, clicar com o boto direito e selecionar a opo Status selection. As informaes sobre o arquivo desejado sero exibidas ento na janela de sada (Output).

20

3.15) Graph Selection evoluo das verses: Cada vez que um arquivo alterado, uma nova verso gerada. Para acompanhar a evoluo das verses, visualizar os tags, os branches, os logs e o contedo dos arquivos existe uma ferramenta chamada Graph Selection. Com esta opo possvel visualizar todas estas informaes. Basta selecionar um arquivo, clicar com o boto direito do mouse e escolher a opo Graph selection. Depois de dar OK e colocar a senha, ser exibido um diagrama que representa a evoluo das verses graficamente. Ao clicar em cada cone exibido um status na janela de sada (Output). Dando-se um duplo clique no cone possvel abrir o arquivo para edit-lo ou simplesmente visualiz-lo.

onde, [Link] 1.1, 1.2 taghello, nptag npbranch arquivo revises tags branch

Observe que cada estrutura tem uma cor e um formato diferente.

3.16) Diferena entre dois arquivos: No WinCvs possvel fazer uma comparao entre o contedo de dois arquivos. Para isso basta selecionar um arquivo de um diretrio local, clicar com o boto direito sobre ele e escolher a opo Diff Selection. Ao aparecer a janela Diff settings, deve-se escolher no campo Compare type o tipo de comparao deve ser feita. Outra forma de se usar o comando selecionar o arquivo e ir at o menu Query Diff selection (Ctrl + D). Ao fazer isso o contedo dos dois arquivos ser exibido na janela de sada (Output). Pode-se tambm aplicar este artifcio em um projeto. Neste caso sero exibidos na janela de sada apenas os arquivos que apresentam alteraes em relao aos seus respectivos arquivos no repositrio.

21

cvs diff [Link] (in directory C:\newproject\) Index: [Link] =================================================================== RCS file: /home/cvs_usr/projetos/newproject/[Link],v retrieving revision 1.1 diff -r1.1 [Link] 1c1,2 < trabalhando com tags \ No newline at end of file --> trabalhando com tags > novas tags \ No newline at end of file ***** CVS exited normally with code 1 *****

22

4) Verses: Os nmeros de revises de um arquivo tm na verdade uma estrutura hierrquica que possibilitam a identificao de que branch de desenvolvimento ele se encontra. Exemplo de avano das revises e branches:

1.1 # main trunk | 1.2 | 1.3 | 1.4 | 1.5 ----- [Link] # branch 1.5.1 | | 1.6 [Link] | | 1.7 [Link] ----- [Link].1.1 # branch [Link].1 | | | 1.8 [Link] [Link].1.2 | | | 1.9 +<------------+ # incorporado ao branch original | | 1.10 [Link] | | +<--------+ # incorporado ao main trunk | 1.11

Para salvar um conjunto de arquivos com uma determinada verso (sair da numerao 1.1, 1.2, 1.3, ... para 2.1, 2.1, ...), deve-se atribuir a nova verso no momento do commit. Para isso, ao executar essa operao, deve-se informar a partir de que verso o arquivo deve partir. Este dado colocado na guia Commit Options.

23

Ao executar essa operao, os arquivos ficaram com a verso 2.1 e protegidos por um tag 2. Para retirar este tag deve-se ento efetuar um Update, no esquecendo de selecionar na guia Update Selection a opo Reset any sticky date/tag/-k options. As prximas verses sero 2.2, 2.3, etc.

5)

Problemas com WinCvs 5.1) Senha de outro usurio: Algumas vezes o WinCvs solicita a senha de outro usurio.

Para resolver este problema deve-se corrigir o arquivo Root, que est localizado dentro da pasta CVS no diretrio local em que se est trabalhando. Ao abrir o arquivo, deve-se mudar o nome do usurio em questo para o seu.

24

5.2) Horrios adiantados: Ao trabalhar com o WinCvs, o usurio notar que registrado o horrio que ele salvou determinado arquivo no repositrio, que ele fez alguma alterao, etc. Entretanto este horrio no est de acordo com o do Brasil. Isso acontece porque o WinCvs um programa que marca o horrio de acordo com o horrio atual no Meridiano de Greenwich. Visto que o fuso horrio do Brasil atrasado 3 horas em relao ao Meridiano, uma alterao feita s 15 horas ser registrada como se tivesse sido feita as 18 horas.

25

Você também pode gostar