CVS - Vale a pena?

HecKel

The WORM
Boas!

Já ouvi falar muito em CVS no entanto não sei bem o que realmente "é" o CVS, já estive a dar uma vista de olhos pelo site e li algumas partes do manual..., o que não me ajudou mt.

Basicamente estou a pensar começar um projecto e dava-me jeito ter algo que me registasse as versões desse mesmo projecto e pelo que tenho ouvido falar um CVS seria o ideal no entanto gostaria de saber mais sobre as funcionalidades de um CVS e como "criar" um CVS (quais os requisitos e como instalar).

Se acharem que existem alternativas melhores agradeço :)

abraços, HecKel
 
Eu penso que o CVS é daquelas ferramentas quase indespensaveis para quem faz projectos já de uma certa dimensão.

Basicamente o que o CVS faz é criar-te um repositorio num pc (pode ser no local ou num servidor) e depois à medida que vais trabalhando nas versoes do projecto e as vais adicionando ao cvs ele guarda lá tudo (contendo normalmente a nivel de funcionamento apenas as diferencas que fizeste em relacao à versao anterior senao me engano).

Como tal, se algo correr mal, ou queiras ir buscar um(s) ficheiro(s) de há 5 dias atras ou em que lhes meteste uma "tag" a dizer "versao 1.2" (por exemplo) vais la busca-los na boa apesar da ultima versao em que estas a trabalhar ja ter tido imensas modificacoes.

Para windows tens o wincvs juntamente com o TortoiseCVS (ambos ja trazem o cvsnt) ou podes mesmo instalar o cvs "normal".

Há vários IDE's que trabalham bem com o CVS, como por exemplo o eclipse, etc.

Em relacao aos manuais, no meu caso aprendi na faculdade (uma mistura do que os professores diziam para se fazer com um pouco de pesquisa na net), apesar da utilizacao através de IDE's ser bastante mais facil.

As alternativas que conheco sao o subversion, o arch, darcs e rcs, mas nunca trabalhei com nenhum deles.
 
Última edição:
CVS é um sistema de controlo de versões (repositório).
Basicamente, permite que diversas pessoas trabalhem sobre o mesmo projecto, cada uma na sua parte, mas tenham sempre TODOS os ficheiros actualizados.
Cada vez que alguém tem uma parte estável, faz commit para o cvs, coloca uma tag se quiser (que serve de identificador para indicar, por exemplo, que aquele código é o código base de uma funcionalidade já implementada, mas não totalmente) e coloca uma descrição textual das alterações. A vantagem do cvs, para além de toda a gente possuír as últimas versões dos ficheiros, sem ter de os andar a passar por mail ou pen drive, é o facto de se o trabalho estiver a correr muito mal, pode-se ir buscar uma versão mais antiga (ou pela tag, ou pelo número de versão atribuído pelo próprio cvs).
Para além disto, o cvs permite aínda "branches", que são ramos. Isto é, podes trabalhar numa versão tua, de código, fora do ramo principal do cvs, e quando achares que aquilo está bom, fazes "merge" e juntas aquilo ao ramo principal.
Outra coisa engraçada é poderes comparar o ficheiro actual (local) com os do cvs, para veres quais são as alterações, pois pode haver cenas que não tens a certeza se estavam lá, ou se já estão guardadas no cvs.

Se quiseres, o SVN (subversion) também é muito bom (e tem umas melhorias em relação ao cvs).
É uma questão de procurares um pouco ;)

Mais qq coisa, apita
 
Bem acho que estes ultimos posts já disseram tudo, por todas as razões e mais alguma recomendo! Tenho usado o SVN para alguns trabalhos com grupos de várias pessoas em projectos da faculdade e só tem vantagens, até já estou habituado ao som do conflict no Tortoise :P
 
Grandes respostas :) Obrigado mesmo :)

Já agora, quais os requisitos necessários para poder instalar um CVS num servidor? Que CVS recomendam para servidor? (UNIX)

abraços, HecKel
 
Bem isto é um desenterraço um bocado grande, mas o assunto desta thread é importante.
Se houvesse mais pessoas a utilizar o svn na faculdade ja me tinha poupado a muitos problemas.

So queria dizer que o subversion esta desenhado para vir a substituir o cvs, por isso que estiver a começear a aprender a utilizar um destes sistemas, o melhor é começar pelo svn.

Ha também o TortoiseSVN que substitui o TortoiseCVS que eu recomendo vivamente.

Eu uso um repositiorio no site http://opensvn.csie.org para tds os trabalhos da faculdade, desta maneira posso aceder ao trabalho mesmo que nao esteja no meu pc. Acho que o google code tb oferece hosting svn mas nunca experimentei.


Era bom que conseguisse convencer o pessoal da minha faculdade a por um servidor svn online =)



Fkem
 
Curisosamente há coisa de uma ou duas semanas fui convencido pelo alph a usar isso :D Ando também a tentar convencer o pessoal com quem trabalho a usar o SVN :D

abraços, HecKel
 
Tenho um servidor de CVS configurado numa maquina em freeBSD...quando quero aceder ao servidor fasso via ssh ou seja por consola... gostava de saber de saber como posso aceder via browser? que tenho de fazer?
 
Mais um desenterranço :D

Já tenho uma ideia do que é o CVS, para que serve, e penso que é isso que se adequa totalmente ao que preciso: um sistema de "versionamento" remoto que permita o acesso de vários utilizadores a um ficheiro e que faça um lock a um ficheiro "em uso".

O que preciso de saber é:
Em teoria, o que é preciso é um servidor algures que guarde os ficheiros, e um ou mais clientes. Ora, o Dev-C++ até tem um cliente integrado, mas o Notepad++ não tem, pelo que preciso de alguma forma de aceder a um registo do servidor, e copy-paste de e para o Notepad++.

* Existem servidores para projectos CVN de pequena escala na Internet que não requeiram pagamento?
* Existe algum cliente "genérico" que se limite a ir buscar ficheiros ao repositório? Isto é, a fazer o checkout e o commit?

Dicas sobre o assunto são sempre bem-vindas, porque nunca usei e já começava a dar jeito :P
 
O google code tem um repositório com svn, é o único que me lembro agora. (Dá uma olhadela nas limitações)
Quanto ao cliente genérico: o svn tem um command-line, o cvs acho que não tem tal coisa.
 
Tens instruções de instalação e de utilização do SVN na wiki do Sigma. De qualquer forma, tendo em consideração o número de ficheiros, bem como o número de pessoas envolvidas no projecto, penso que não tens nada a ganhar com a utilização de um sistema de controlo de versões.
 
Back
Topo