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.
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:
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
[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.
[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?
[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.
[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:
[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.
[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
[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?
[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
[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.
[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.
[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
[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/