Controlando projetos com o fantástico CVS

Este artigo nos apresenta ao CVS, um fantástico sistema de controle de versão. Aqui aprenderemos a instalar e configurar um repositório, alimentar o repositório com arquivos, manipular os arquivos lá publicados e por fim, faremos um tour pelos clientes gráficos de CVS, aprendendo a instalar e configurar clientes para Linux, Windows e Mac.

[ Hits: 124.566 ]

Por: Fábio Berbert de Paula em 13/07/2004 | Blog: https://fabio.automatizando.dev


Clientes gráficos



Se você tem pavor de linha de comando, não desanime, existem diversos clientes gráficos para CVS e aqui explicarei o gCvs, que é similar ao WinCvs e MacCvs, que são para Linux, Windows e Mac, respectivamente.

Você pode obter a cópia de qualquer um dos softwares citados através do site:
O software é distribuído sob licença GPL.

Bom, pra quem sabe ler, pingo é letra. Já notou que você pode instalar um servidor Linux com CVS para controlar projetos de sua equipe de programadores da plataforma .Net (Windows)? Interessante isso né? Quanto custa uma licença de software proprietário para controle de versão? E quanto custa um servidor Linux com CVS? Pois é...

Pra começar, vamos instalar o gCvs:

# apt-get install gcvs

Para iniciar o programa, digite: gcvs


gCvs - Janela principal

Vamos começar do zero, ou seja, vamos trazer os arquivos do módulo "helloworld" publicado anteriormente para nosso diretório corrente.

A primeira coisa a fazer é configurar o servidor CVS. Clique em Admin -> Preferences e preencha os campos da seguinte forma:


Onde:
  • fabio - usuário CVS.
  • 10.0.0.1 - servidor CVS.
  • /var/lib/cvs - repositório CVS.
  • pserver - tipo de autenticação.

Em seguida clique em Admin -> Login. Será solicitada a senha do usuário CVS, informe-a para iniciar a sessão.

Clique em Create -> Checkout module. Preencha o campo solicitado com o nome do módulo CVS e selecione a paste de destino dos arquivos.


Agora é trabalhar normalmente em cima de seus arquivos e, quando achar conveniente, selecionar os arquivos e utilizar os botões da interface ou o menu Modify, que possui o update e o commit. Você também pode usar a linha de comando através do menu Admin -> Command Line.

Lembrem-se que o gCvs é idêntico ao WinCvs e MacCvs.

Bom pessoal, o resto vou deixar por conta de vocês, o empurrão foi dado :P

[]'s
Página anterior    

Páginas do artigo
   1. Introdução
   2. Configuração do servidor CVS
   3. Enviando os arquivos para o servidor CVS
   4. Manuseando arquivos
   5. Clientes gráficos
Outros artigos deste autor

Placa Intel PRO/Wireless 3945ABG no Debian Linux

Conheça o Viva o Android, site coirmão do VOL

O que é e como funciona um ataque de força bruta

Como camuflar seu WhatsApp Web usando Snippets JavaScript

Criando gráficos com a classe JPGraph (parte 2)

Leitura recomendada

Montando partições automaticamente

Montando HD, Pendrive ou Pasta de Rede para Gravações de Ligações do Elastix e Módulo de Call Center

Criar RAID no Linux

GlusterFS - Um Sistema de Arquivos Distribuídos

Ceph - Uma Plataforma de Armazenamento Distribuído

  
Comentários
[1] Comentário enviado por wronieri em 13/07/2004 - 10:36h

Excelente artigo vai ser de grande utilidade para o meu TCC da faculdade ;-)

[2] Comentário enviado por agk em 13/07/2004 - 14:27h

Parabéns Fabio, muito bom o artigo, não sabia que o cvs era tão poderoso para controlar meus projetos, alterações e tudo mais. Vou instalar aqui e começar a usar, acho que isso vai me ser muito útil para controlar os projetos que estou fazendo no trabalho e preciso ver alguma coisa em casa ou terminar.
Valeu D+ o artigo.
[ ]'s.

[3] Comentário enviado por jeffestanislau em 13/07/2004 - 18:03h

Hehehe.. grande fábio..
Seu pensamento sempre adiante em relação aos pequenos mortais... rs rs rs

Párabens!!!
[]´s


[4] Comentário enviado por thiagosc em 14/07/2004 - 07:42h

Muito bom mesmo esse artigo, ontem mesmo estava trocando uma idéia com o Jeffestanislau sobre esse assunto, e hoje vejo esse excelente artigo no site. Parabéns.

[5] Comentário enviado por renatoriolino em 14/07/2004 - 13:55h

Ótimo artigo, parabéns!

Só uma pergunta:

O que aconteceria se duas pessoas alterassem o mesmo arquivo fonte?

Tipo, a primeira iria fazer o update e tudo beleza, mas e quanto a segunda? O arquivo alterado pela segunda pessoa iria sobrescrever as alterações feitas pela primeira?

[]'s

Renato

[6] Comentário enviado por Czuber em 14/07/2004 - 15:34h

Legal, gostei bastante do artigo, eu vi que dá para acessar por ssh também, se alguém quiser conferir:

$ export CVS_RSH=ssh
$ cvs -z3 -d:ext:login@10.0.0.1:/var/lib/cvs co modulename

Pena que eu preciso me conectar em um servidor cvs e não consigo de jeito nenhum!
Sempre dá timeout depois que eu ponho a senha!
[]s

[7] Comentário enviado por wronieri em 15/07/2004 - 10:45h

Fabio instalei o gcvs o pacote não acusou nenhuma dependencia mas ao executar á o seguinte erro "gcvs: error while loading shared libraries: libtcl.so.0: cannot open shared object file: No such file or directory" estaria faltando este libtcl ou seria outro problema?

[8] Comentário enviado por fabio em 15/07/2004 - 17:58h

Renato,

O que acontece é que o CVS, antes de sobrescrever o arquivo que foi atualizado por outra pessoa, te acusa essa mensagem e exibe as diferenças entre as versões usando o diff. A partir daí, se você quiser pode realmente sobrescrever o arquivo ou criar uma nova versão pra ele baseado nas mostras do diff.

[]'s

[9] Comentário enviado por fabio em 15/07/2004 - 18:01h

Ronieri,

Você precisa ter o TCL instalado, mais precisamente o pacote tclx.x-dev. Se já o tiver instalado, pode estar acontecendo um problema de link. Entre em /usr/lib e veja se existe o arquivo libtclx.x.so, daí basta criar um link para o arquivo que está faltando assim:

ln -s libtclx.x.so libtcl.so

[]'s

[10] Comentário enviado por tchebraga em 16/07/2004 - 09:40h

Parabéns muito legal o artigo, e é impresionante como tem gente que ainda nem sabe o que é controle de versão, mas isso é outro assunto. O cvs é um projeto muito bom e útil, no entanto bem antigo e possui algumas deficiências, como não garantir transações atômicas e não permitir renomear repositorios. Existe O subversion (http://subversion.tigris.org) que chegou a versão 1.0 e está muito estável, vale resaltar que é 1.0 mas teve vários RC´s antes disso, o que garantiu a estabilidade do produto, pode se disser que é uma continuação do bom e velho CVS. Vale a pena mesmo dar uma olhada no subversion.

[11] Comentário enviado por dudous em 16/07/2004 - 12:10h

Parabéns pelo artigo! Bastante elucidativo.
E boa dica essa do subversion !
Não conhecia. Estou dando uma olhada agora.

[12] Comentário enviado por renatoriolino em 16/07/2004 - 17:01h

Fabio,

Obrigado pela resposta. Mais uma coisinha:

O CVS serve para manter arquivos binários também? Ou apenas arquivos texto?

Obrigado.

[]'s

Renato

[13] Comentário enviado por fabio em 16/07/2004 - 23:10h

Renato,

Qualquer tipo de arquivo, desde txt até imagens.

[]'s

[14] Comentário enviado por cesarcardoso em 18/07/2004 - 15:38h

Só lembrando que em arquivos binários o CVS só consegue dizer quando foi modificado, não o que foi modificado.

[15] Comentário enviado por tchebraga em 19/07/2004 - 09:56h

+ uma coisa bacana do subversion, :-) ele permite controlar arquivos binários tb :-) (fazer diff inclussive).

[16] Comentário enviado por MarcioRM em 19/07/2004 - 10:23h

Soh para acrescentar outra interface eh o LinCVS (www.lincvs.org)
Na minha opiniao a melhor :D

Falow

[17] Comentário enviado por jeff.chaves em 29/07/2004 - 16:31h

É isso ai, esse artigo é maravilhoso, mas na empresa que trabalho o servidor é Widows, como faço para configura-lo e etc???

[18] Comentário enviado por AndreC em 02/08/2004 - 13:00h

Muito bacana o artigo! Só estou tendo problemas para configurar
o Servidor de CVS no Fedora...

Não consegui encontrar os arquivos: inetd.conf e cvs-pserver.conf

Estou com a versão 1.11.17 instalada...

Alguém já conseguiu configarar no Fedora Core 2?

[19] Comentário enviado por clicksoft em 10/08/2004 - 17:46h

Ola , instalei o CVS no kurumin como o artigo ensina, instalei o gcvs, rodei o gcvs na mesma maquina (servidor) configurei "cjunior@192.168.0.1:/var/lib/cvs" .
Porém ao tentar efetuar o login acontece o seguinte erro :

********************
cvs login
cvs login: /var/lib/cvs/CVSROOT/config: unrecognized keyword 'UseNewInfoFmtStrings'
cvs login: can only use pserver method with `login' command
cvs [login aborted]: CVSROOT: /var/lib/cvs
*********************

alguem poderia me ajudar ???
obrigado ,
carlos junior
cjuniorig@ig.com.br

[20] Comentário enviado por engos em 24/08/2004 - 15:34h

Estou tentando configurar no Red Hat 9 e estou com o mesmo problema do AndreC... em qual distro essa configuração funciona?

[21] Comentário enviado por alphainfo em 14/09/2004 - 12:17h

Ei Rapaziada do VOL!

Gostaria apenas de comentar q existem outros clientes gráficos bons para o CVS, como o Eclipse.

[]'s

Daniel Freire

[22] Comentário enviado por fernandoamador em 16/01/2005 - 05:47h

Ótimo artigo.

[23] Comentário enviado por josir em 17/02/2005 - 17:26h

Valeu Fábio. Me ajudou bastante!
Josir

[24] Comentário enviado por kamarada10 em 03/03/2005 - 08:42h

No caso de arquivos binários, o cvs faz uma auditoria informando além de qdo foi modificado quem efetuou a modificação? No caso de arquivos de cocumentação de projetos (.doc) é considerado binário também?

[25] Comentário enviado por removido em 28/04/2005 - 14:08h

fabio, ficou show de bola!
parabens mais uma vez

[26] Comentário enviado por jmarceno em 02/05/2005 - 14:25h

Muito bom o artigo, eu sempre quis saber do que se tratava este tão falado CVS e vc conseguiu sanar todas as minhas dúvidas...Parabéns...

[27] Comentário enviado por kandrus em 08/05/2005 - 08:21h

Valew pelo artigo tava apanhando para implantar o CVS no linux e com o artigo consegui blz

Valew

[28] Comentário enviado por osvaldocpd em 10/05/2005 - 11:22h

bom dia a todos, Alguem poderia me enviar passo a passo como configurar Servidor PDC tebnho o linux 7.3 e as stações é 98 2.000 e xp preciso que as estações acessam arquivos no sevidor linux
Se algume souber e poder me passar ficarei grato
at. Osvaldo

[29] Comentário enviado por alesandroramos em 07/06/2005 - 16:40h

Parabens Fabio, o artigo foi uma mao na roda Fabio + alguem pode me dizer de onde veio esse erro
CONNECTION REFUSED

[30] Comentário enviado por a.fernando em 28/10/2005 - 10:15h

Ótimo artigo!

Me ajudou bastante a entender como funciona e onde usar o CVS

[31] Comentário enviado por FelipeAbella em 16/07/2006 - 20:31h

renatoriolino: Se duas pessoas editarem o mesmo arquivo, o cvs irá mesclar os dois, mas as vezes gera um conflito, nunca testei como resolve um conflito.

Parabéns pelo artigo.

[32] Comentário enviado por arcanjo_mg em 24/07/2006 - 17:33h

Parabéns, artigo muito bom, CVS é algo que eu ja queria conhecer mais ainda estava obscuro pra mim. Esse artigo sera um ponta-pé inicial para que eu aprenda mais sobre o assunto.

[]'s

[33] Comentário enviado por removido em 12/08/2006 - 15:02h

esta 10 o artigo, parabens

[34] Comentário enviado por xALEXANDRE em 15/08/2006 - 19:48h

Muito bom.
Parabéns, artigo completo e objetivo.

[35] Comentário enviado por diromi em 29/12/2006 - 22:34h

Fabio muito bom seu artigo!!!
Gostaria de saber se vc sabe como faço para o CVS colocar a senha do CVS automaticamente a mesma senha que o usuario tem no Active Diretory do Windows de forma a melhorar a segurança não to conseguindo fazer isso e queria uma dica se fosse possivel..
Meu e-mail diromi@oi.com.br
Valeu
Diogo

[36] Comentário enviado por stalin em 06/03/2008 - 10:09h

Eu instalei o cvs pelo terminal passo-passo, quando eu vou testa no Eclipse da erro de conexão, o que eu devo fazer?

Valeu

[37] Comentário enviado por stalin em 07/03/2008 - 11:38h

Quando eu executo: teste@test-4:/home/cvs$ cvs -d :pserver:diogo@127.0.0.1:/home/cvs

Oque devo fazer

Usage: cvs [cvs-options] command [command-options-and-arguments]
where cvs-options are -q, -n, etc.
(specify --help-options for a list of options)
where command is add, admin, etc.
(specify --help-commands for a list of commands
or --help-synonyms for a list of command synonyms)
where command-options-and-arguments depend on the specific command
(specify -H followed by a command name for command-specific help)
Specify --help to receive this message

The Concurrent Versions System (CVS) is a tool for version control.
For CVS updates and additional information, see
the CVS home page at http://www.nongnu.org/cvs/ or
the CVSNT home page at http://www.cvsnt.org/

[38] Comentário enviado por stalin em 11/03/2008 - 09:14h

Vc acha que eu devo desabilitar o firewall para usar o cvs

[39] Comentário enviado por stalin em 11/03/2008 - 09:20h

quando eu coloco

diogo@Test/var/lib/cvs$ export CVSROOT=:pserver:diogo@127.0.0.1:/var/lib/cvs
diogo@Test:/var/lib/cvs$ cvs login
Logging in to :pserver:diogo@127.0.0.1:2401/var/lib/cvs
CVS password:
cvs [login aborted]: unrecognized auth response from 127.0.0.1: cvs [pserver aborted]: /var/lib/cvs: no such repository

O que eu devo fazer

[40] Comentário enviado por luizhacker em 08/05/2008 - 11:56h

Ao tentar obter ao diretório para manipulação dos arquivos de um projeto, usando a conta Root, obtive a seguinte mensagem:
"root not alowed"

Como usuário comum isso não acontece.

O que devo fazer?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts