Salve!
Salve! Caros leitores, amigos, colegas enfim todos aqueles que acessam o blog! Fiquei um tempo off devido algumas mudanças que aconteceram na minha vida profissional. Uma delas é que hj trabalho na IBM :). Esse foi o motivo da ausência dos posts pois fiquei em treinamento durante esse tempo. Sendo assim peço desculpas a todos, porém foi por um bom motivo. Não querendo puxar o saco, mais sinceramente quero agradecer ao Juliano Martins pelo treinamento, para me é um prazer trabalhar do lado desse cara (muito fera). Bom vamos ao post!
O assunto de hoje será CVS. O post não será sobre a definição desse sistema e sim sua importância dentro do ambiente de desenvolvimento de Software. Até porque a definição não é algo muito dificil de encontrar basta ir no google ou no 4shared que encontramos apostilas, tutoriais etc.
A importância
Por que CVS pode ser importante para desenvolvimento de Software?
Bom pegando um pouco da definição: CVS é um sistema de controle de versões que permite gerenciar diferentes versões de um programa ou projeto. Outra vantagem, é que multiplos programadores podem trabalhar ao mesmo tempo no mesmo projeto.
“Ah, Camilo mais isso eu ja li no wikipedia”, bom entao vamos ver uma situação na para pratica.
Imagine ai que vc está desenvolvendo um sistema para uma rede de hotel que funciona 24x7x365, e o sistema não pode parar nunca, pois é impossivel controlar uma entrada ou saida, despesas etc. dos hospedes manualmente. Até aqui nada de diferente. Mas em um belo dia o dono do hotel pediu para vc
desenvolvedor fazer um novo módulo, vc foi lá: desenvolveu e instalou, porém agora temos o sistema atualizado com uma nova versão então ele passou de 1.0 para 1.1 (por exemplo). Mas em um belo dia vc está na praia (de preferencia na Bahia) o cara do hotel liga: o sistema parou aqui! está travando!Depois daquela mudança parou tudo aqui!. O que vc faz?
-
Tenta descobrir o problema e depois TENTA resolver?
-
Ou retornar o sistema na versao 1.0 e colocar o “hotel para funcionar”e vai buscar encontrar o problema mais sossegado?
Eu ficaria com a 2. Com CVS
é possivel vc obter essa vantagem, onde o desenvolvedor pode retornar o sistema para ultima versão ou outra que desejar e futuramente analisar aquela nova que causou problema isoladamente isso através do comando diff é possivel comparar o que há de diferente na versão 1.0 e 1.1 e buscar a resolução do problema mais rapidamente.
Mas se eu nao usar CVS?
Bom, ai acho que é entrar no caminho das trevas, ou seja, o risco é grande de vc perder as versões de software, onde vc teria que criar uma copia de cada arquivos no HD antes de atualizar e depois fazer as
modificações da versão 1.0 para 1.1. É facil gerenciar apenas uma versão (1.0 para 1.1). Porém se fosse 10 versões(da 1.0 para 1.10 )?
Um exemplo que pode ser visto todo dia, são os browsers(Chrome, Firefox etc.) concerteza é usado um sistema de controle de versão para saber os impactos de uma versão para outra e quem fez essas alterações (quem foi o desenvolvedor que fez essa besteira?). Observe quando você desinstalar o Chrome, o google
quer saber por que você desinstalou, e as opções para marcar nesse processo são bem próximas ao processo de controle de versões.
Um forte abraço e espero que tenham gostado do post. Na seção de Jfile coloquei uma apostila sobre CVS.
E até proximo post! Have a nice day!
Olá!
O Juliano é um professor da faculdade e sempre acompanho o blog dele.
Entrei no seu aqui pq ele indicou do blog dele, enfim, parabéns pela nova empreitada, estou me qualificando para quem sabe um dia chegar na IBM também.
Se der, visite meu blog, já coloquei você nos favoritos.
Qualquer coisa, estou no MSN tbm -> rayzitu@msn.com
Abraços!
Cem dúvida o CVS foi muito importante. Porém sabe-se que hoje em dia existem opções muito mais interessantes. Exite o paradgima distributido que vem tomando mais e mais força, que é o caso do Git criado pelo Linus Tovards para gerenciar versões do Kernel do Linux, o Mercurial e o Bazaar, e temos também o paradgima centralizado que é o caso do CVS e do seu “considerado” sucessor Subversion (SVN).
Mais informações sobre as vantagens do Subversion em relação ao CVS podem ser encontradas aqui
Na minha opnião o Git é o que trás mais vantagens dentre todos esse no meu perfil de utilização. De qualquer forma, fica aí o incentivo a investigação.
Abraço,
André Faria Gomes
Parabens Andre, eu também ia citar o SVN. Sempre o utilizei e em todas as empresas as quais trabalhei o SVN é de longe o mais robusto e mais utilizado. Li sua página e também gostei so seu blog, parabens.
Camilo, achei bastante válido o post, mas o SVN realmente é o sucessor do CVS, acho importante mencionar isso devido aos grandes problemas com o CVS.
opa! Rodrigo e Andre hehe acabei esquecendo de citar o SVN mesmo. .valeu :d
e obrigado por acessar o blog!
Opa, Rodrigo e Camilo
Eu já usei o SVN também, não o vejo como sucessor do CVS e acabo preferindo o CVS.
É questão de gosto pessoal e não vou entrar nesse mérito.
O que vejo é que ambos os sistemas são bem sólidos e a escolha de um deles ou de algum outro sistema de versionamento (como o pago ClearCase da Rational) é algo imprescindível para o desenvolvimento de software.
Parabéns pelo blog, Camilo.