Controle de versão, CVS (Concurrent Version System)
fonte: https://www.zwodnik.com/software/windows/tortoisecvs/
O CVS, ou Concurrent Version System
(Sistema de Versões Concorrentes) é um sistema de controle de versão que
permite trabalhar com diversas versões de arquivos organizados em um diretório
e localizados local ou remotamente, mantendo suas versões antigas e os logs de
quem e quando manipulou os arquivos.
Ele foi um dos primeiros sistemas de
controle de versão a ter fluxos alternativos de desenvolvimento e a permitir
livre edição de arquivos somente-texto entre várias pessoas de um mesmo time ao
mesmo tempo. A ideia de um repositório dentro das normas do sistema é no
esquema de árvore, compreendendo um fluxo principal de desenvolvimento (chamado
de trunk, ou tronco em português), fluxos alternativos de desenvolvimento
(chamados de branches, ou galhos), em que mudanças são implementadas separadas
do fluxo principal, e tags (etiquetas, que são revisões dos outros dois fluxos
que não podem mais ser alteradas, ideais para indicar versões estáveis).
As funcionalidades básicas de um
sistema de controle de versão (CVS) são:
●
Mantém um histórico de
todas as alterações feitas nos diretórios;
●
Armazena versões em um
repositório central que mantém as cópias mestres de todos os arquivos que estão
sob o gerenciamento de versões;
●
Recuperar versões
anteriores de arquivos eficientemente;
●
Permite que grupos de
desenvolvedores controlem arquivos através da rede de forma transparente;
●
Suporta desenvolvimento
paralelo;
●
Fornece acesso confiável
aos diretórios a partir de máquinas hospedeiras (hosts) remotas usando
protocolos Internet;
●
Permite adicionar,
remover e alterar arquivos e diretórios do repositório;
●
Permite agrupar uma
coleção de arquivos relacionados em módulos e, então, o módulo passa a ser
gerenciado;
História
O CVS foi desenvolvido de uma versão anterior de um sistema chamado RCS ( Revision Control System) ainda em uso, que gerencia versões de um único arquivo , foi lançado em 23 de junho de 1986.
O código que evoluiu para a versão atual do CVS foi iniciado por Brian Berliner em abril de 1989. Com posterior contribuição de Jeff Polk e muitos outros colaboradores.
Atualmente, o código do CVS é mantido por um grupo de voluntários.
Funcionamento
●
O CVS utiliza uma arquitetura cliente-servidor: um servidor
armazena versões atuais do projeto e seu histórico, e os clientes se conectam a
esse servidor para obter uma cópia completa do projeto, trabalhar nessa cópia e
então devolver suas modificações.
● Os Projetos controlados pelo CVS podem ser formado por Módulos,
assim sendo, o CVS permite a um usuário ou grupo de usuários que editem esses
Módulos de maneira concorrente.
● Clientes podem comparar diferentes versões de um arquivo, pedir um
histórico completo das alterações, ou baixar uma determinada versão do projeto,
ou de uma data específica, não necessariamente a versão mais atual.
● Clientes também podem usar o comando "update" para
manter suas cópias locais atualizadas com a última versão do servidor
●
O CVS também pode manter diferentes “estados” do projeto.
●
Um servidor CVS pode gerenciar diversos módulos.
fonte: https://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%B5es
Algumas Limitações
●
Os
arquivos em um repositório CVS não podem ser renomeados.
●
O
protocolo do CVS não permite que os diretórios sejam movidos ou renomeados.
Comandos
●
Checkout: é usado para denominar o primeiro download de
um módulo inteiro a partir do repositório CVS.
●
Commit:
envio das modificações feitas pelo usuário ao repositório CVS.
●
Export:
é o download de um módulo inteiro a partir de um repositório CVS, sem os
arquivos administrativos CVS. Módulos exportados não ficam sob controle do CVS.
●
Import: é usado para designar a criação de um módulo
inteiro dentro de um repositório CVS através do upload de uma estrutura de
diretórios.
●
Update:
atualização da cópia local do trabalho através do download das modificações
feitas por outros usuários no repositório.
●
Merge:
é a fusão de modificações feitas por diferentes usuários na cópia local de um
mesmo arquivo. Sempre que alguém altera o código, é necessário realizar um
update antes do commit, de modo que seja feito o merge — ou a fusão — das
mudanças.
Fontes:
●
https://www.devmedia.com.br/cvs-instalacao-e-configuracao/2801
●
http://www.linhadecodigo.com.br/artigo/1143/tortoisecvs-cvstrac-controle-de-versoes-e-gerenciamento-de-bugs.aspx#ixzz5bZAj9sQd
●
http://conteudo.icmc.usp.br/CMS/Arquivos/arquivos_enviados/BIBLIOTECA_113_ND
●
55.pdfhttp://andreotto.com.br/diferencas-entre-controle-de-versao-git-svn-e-cvs/
Parabéns pelo texto. Acho que realmente é importante ser tratado as funcionalidades e a importância do CVS para o mercado, apesar de não ser o Sistema de Controle de Versão mais usado, mas ser bastante conhecido. Entretanto, isso não quer dizer que organizações hoje em dia não usem não é? até porque cada caso é um caso. Outro ponto importante que vi no texto é que as funcionalidades são bem parecidas com outros sistemas de controle de versão. Além disso, vi que os comandos são bem mais fáceis e intuitivos para aprender e usar do que o Git, por exemplo.
ResponderExcluirObs.: O tópico das funcionalidades está com a cor da letra preta e não dá pra enxergar com o plano de fundo, apenas se selecionar o texto.
Obrigada! Apesar de o CVS ter sido um grande avanço com relação a controle de versão de software na época de sua criação, foram encontrados erros considerados criticos, que sugeriam o desenvolvimento de uma nova ferramenta, com o objetivo principal de corrigir esses erros . Com isso criaram o Subversion. Respondendo sua pergunta: Sim, embora CVS seja uma tecnologia “antiga”, ainda é muito útil para qualquer designer ou desenvolvedor fazer o backup de arquivos e de partilha.
Excluir