Porquê um Sistema de Controle de Versão?

Blog Advpl - Share knowledge

Porquê um Sistema de Controle de Versão?

26 de setembro de 2014 Geral 0

operacoes_basicas_centralizadoPorquê um Sistema de Controle de Versionamento?

Um sistema de controle de versão (ou versionamento), VCS (do inglês version control system) ou ainda SCM (do inglês source code management) na função prática da Ciência da Computação e da Engenharia de Software, é um software com a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Esses sistemas são comumente utilizados no desenvolvimento de software para controlar as diferentes versões — histórico e desenvolvimento — dos códigos-fontes e também da documentação.

Esse tipo de sistema é muito presente em empresas e instituições de tecnologia e desenvolvimento de software. É também muito comum no desenvolvimento de software livre. É útil, em diversos aspectos, tanto para projetos pessoais pequenos e simples como também para grandes projetos comerciais.

Entre os mais comuns encontram-se as soluções livres: CVS, Mercurial, Git e SVN; e as comerciais: SourceSafe, TFS, PVCS (Serena) e ClearCase. O desenvolvimento de software livre prefere o SVN que vem substituindo o clássico CVS. Muitas empresas também adotam o SVN, embora algumas empresas prefiram uma solução comercial, optando pelo ClearCase (da IBM) ou Team Foundation Server (da Microsoft). Optar por uma solução comercial geralmente está relacionada à garantia, pois as soluções livres não se responsabilizam por erros no software e perdas de informações1 , apesar das soluções livres poderem ter melhor desempenho e segurança que as comerciais. As soluções comerciais apesar de supostas garantias adicionais não garantem o sucesso da implementação nem indenizam por qualquer tipo de erro mesmo que comprovadamente advindo do software.

A eficácia do controle de versão de software é comprovada por fazer parte das exigências para melhorias do processo de desenvolvimento de certificações tais como CMMI e SPICE.

Principais vantagens:

As principais vantagens de se utilizar um sistema de controle de versão para rastrear as alterações feitas durante o desenvolvimento de software ou o desenvolvimento de um documento de texto qualquer são:

Controle do histórico: facilidade em desfazer e possibilidade de analisar o histórico do desenvolvimento, como também facilidade no resgate de versões mais antigas e estáveis. A maioria das implementações permitem analisar as alterações com detalhes, desde a primeira versão até a última.

Trabalho em equipe: um sistema de controle de versão permite que diversas pessoas trabalhem sobre o mesmo conjunto de documentos ao mesmo tempo e minimiza o desgaste provocado por problemas com conflitos de edições. É possível que a implementação também tenha um controle sofisticado de acesso para cada usuário ou grupo de usuários.

Marcação e resgate de versões estáveis: a maioria dos sistemas permite marcar onde é que o documento estava com uma versão estável, podendo ser facilmente resgatado no futuro.

Ramificação de projeto: a maioria das implementações possibilita a divisão do projeto em várias linhas de desenvolvimento, que podem ser trabalhadas paralelamente, sem que uma interfira na outra.

Para mais detalhes consulte http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o

1. Instalando um Servidor de Versionamento

Eu utilizo o VISUALSVN SERVER a sua versão gratuita funciona perfeitamente.

Existe duas licenças de uso:

  • Standard Edition
  • Enterprise Edition
Standard Edition Enterprise Edition
Disponível para utilização comercial
Console de Gerenciamento
Use o MMC conveniente snap-in para gerenciar seu servidor.
Autenticação do Windows
Permitir que os usuários acessem VisualSVN Server com suas credenciais de domínio do Active Directory.
Basico Integrado
Active Directory Single Sign-On
Credenciais do Windows dos usuários são automaticamente usado para acessar repositórios do servidor VisualSVN.
Replicação do Repositório Multisite
Permite que as equipes de desenvolvimento a partir de locais remotos para trabalhar com os repositórios em velocidades de LAN.
Delegação na gestão do Repositório
Permitir que usuários não-administrativos para gerenciar repositórios remotamente.
Acesso e log operacional
Monitore toda a atividade do servidor (incluindo operações somente leitura) e assumir o controle do seu servidor.
Administração do servidor remoto
Assuma o controle preciso do VisualSVN Server em instalações remotas com uma grande segurança e simplicidade.
Preço $0.00 $950 por servidor

screenshot 1

screenshot 2

screenshot 3

screenshot 4

 

Baixe o VisualSVN em http://www.visualsvn.com/visualsvn/download/

2. Configurando o Visual SVN no Servidor Windows

A configuração do Visual SVN é bem simples, após sua instalação, abra-o.

 

Passo 1: Na tela principal, vá até a opção “Repositories” e clique no menu “Create New Repository…”.

imagem26092014_180519

Passo 2: Na tela que se abre, informe o nome do seu repositório e clique em “Next”

imagem26092014_180556

Passo 3: Na próxima tela, sugiro que selecione “Empty repository” e clique em “Next”

imagem26092014_180605

Passo 4: Na próxima tela, defina as permissões, você pode deixar sem especificar permissões, ou definir para o usuário corrente, ou definir usuários de sua rede para acessarem ou não o repositório, escolha a melhor opção conforme sua necessidade, e clique em “Next”

imagem26092014_180623

Passo 5: É informado que seu repositório foi confirmado e suas permissões definidas, clique em “Finish”

imagem26092014_180652

Com o Repositório criado e é definido um endereço para acesso, você pode a qualquer momento alterar as permissões de acesso e gravação, pode criar pastas, renomear, apagar, navegar entre as pastas, etc…

imagem26092014_180706

imagem26092014_180731imagem26092014_180740

imagem26092014_180747

Caso alguém tente entrar no endereço onde está  o repositório e este não tiver permissão, será exibido uma página mostrando que este usuário não tem permissão.

imagem26092014_180830

Como disse no início, a configuração é bem simples.

 

3. Instalando o Plugin do SVN no TDS

Para instalar o plugin do SVN (modo cliente) no TDS, vá no menu “AjudaHelp” e clique no item “Instalar novo softwareInstall new software”.

Na janela que aparece, digite o caminho onde está armazenado o plugin na web no campo “Work with:” http://subclipse.tigris.org/update_1.10.x (versão que estou usando atualmente)

imagem26092014_173155

O sistema irá localizar na web o que tem disponível no link http://subclipse.tigris.org/update_1.10.x, verá que irá aparecer dois itens, selecione “Subclipse” e em seguida clique em “Next”.

imagem26092014_182622

É exibido um resumo, clique novamente em “Next”.imagem26092014_182722

E por fim, aceite o contrato de licença e clique em “Finish”

imagem26092014_182739

Pronto, é feito o download do plugin para seu editor.

Para visualizar a pespectiva do SVN, vá em “JanelaWindow”, clique em “Abrir PerspectivaOpen Perspective” e depois escolha “OutrasOthers”.

imagem27092014_164144

Na próxima tela, localize e selecione a perspectiva “SVN Repository Exploring” e clique em “OK”.

imagem26092014_174630

Ao selecionar a perspectiva, o layout do editor é modificado para que você possa configurar seu SVN para acessar o seu server.

 

4. Configurando o SVN no TDS

Para fazer o SVN funcionar no TDS, acesse a perspectiva “SVN Repository Exploring”.

imagem26092014_174630

Passo 1: Vá em “SVN Repositories”, normalmente localizado no lado esquerdo do editor, clique com o botão direito (tem outras maneiras) sobre a área branca, no menu que aparece, clique em “New” e em seguinda clique em “Repository Location”.

imagem26092014_174646imagem30092014_153620

Passo 2: Na janela Add SVN Repository, informe a URL do seu repositório, se não estiver lembrando qual é, vá no Visual SVN, localize o seu repositório, clique com o botão direito sobre ele e depois em “Copy URL to clipboard”, para copiar o link para sua área de transferência. Depois de informado, clique em “Finish”.

imagem26092014_180938

Passo 3: Volte ao quadro “SVN Repositories”, veja que a URL informada encontra-se anexada.

imagem26092014_181006

Passo 4: Volte a perspectiva “Totvs Developer”, vá ao seu projeto e clique com o botão direito sobre ele e selecione a opção “Team” e em seguida clique em “Share Project”

imagem26092014_181244

Passo 5: Na tela que se abre marque a opção “Use existing repository location”, selecione o seu repositório e clique em “Next”.

imagem26092014_181254

Passo 6: Na próxima tela, deixe marcado a opção “Use project name as folder name”

imagem26092014_181305

Passo 7: Você será redirecionado para a perspectiva “Team Synchronize”, a partir deste momento você verá seu projeto já sincronizado no SVN

imagem26092014_181338

Passo 8: Volte para a perspectiva “Totvs Developer”, veja que os ícones de seu projeto estão diferentes, deverá aparecer com uma interrogação, isso significa que ainda não foram versionados.

imagem26092014_181358

 

5. Versionando seus projetos e fontes

Para versionar, umas das formas é clicar com botão direito sobre o projeto, pasta ou arquivo e selecionar a opção “Team” e em seguida clique em “Add to Version Control” e depois volte e clique em “Commit”, o arquivo só será versionado a partir do momento que este já estiver adicionado, na próxima vez que for versionar o mesmo fonte, vá só em “Commit”.

imagem26092014_181615

Recomenda-se que sempre que for adicionar ou confirmar um fonte, fazer alguns comentários, isso será muito útil para pesquisar ou simplesmente para que outra pessoa possa saber o que foi feito.
imagem26092014_181649

Quando seu fonte estiver versionado, ele mudará o ícone, será fácil identificá-lo. Ao lado de cada fonte, ficará a quantidade de versionamentos, a data e o nome de quem versionou pela última vez.

imagem26092014_1817011

 

Para ficar mais rápido, crie um atalho para adicionar ou confirmar o versionamento (Pressione CTRL+SHIF+L duas vezes).

imagem30092014_155309

Espero que tenha sido útil, se por um acaso eu tenha cometido algum equívoco, comente.

 

Deixe uma resposta