Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Engenharia de Software Magazine
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Sistemas de controle de versão - Revista Engenharia de Software Magazine 49
Aborda os conceitos de um sistema de controle de versões através da implementação e configuração de um repositório servidor e das estações de trabalho utilizando a ferramenta Open Source TortoiseSVN.
[fechar]
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Engenharia de Software Magazine 49
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Engenharia de Software Magazine 49
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Engenharia de Software Magazine 49
Por Inácio Arantes de Moraes Pernambuco Júnior, Gustavo Reis dos Santos e Wander Antunes Gaspar Valente
O controle de versão, ou versionamento, é uma prática comum na Engenharia de Software para manter o código fonte atualizado no contexto da equipe de desenvolvimento.
Sistemas de controle de versões são ferramentas de apoio aos desenvolvedores cuja principal função é controlar as modificações realizadas em um arquivo de projeto. Ainda possuem um mecanismo automatizado para identificar e controlar as modificações realizadas nos arquivos de um projeto ao longo do tempo, garantindo integridade e rastreabilidade das modificações. O controle de versões é visto como uma extensão natural do processo de desenvolvimento, permitindo que se possam realizar modificações paralelas e de forma coerente e padronizada, especialmente se tratando de equipes geograficamente dispersas.
O repositório é o componente principal do sistema de controle de versões. É o seu núcleo, composto por uma sequência de revisões armazenadas ao longo do tempo. Em geral, o usuário só interage diretamente com o repositório durante operações de leitura. A escrita no repositório é realizada por intermédio de outro componente denominada cópia de trabalho.
Cada revisão do repositório representa o estado completo do documento ou projeto em um determinado instante no tempo. Para um software, isso significa que uma revisão contém toda a árvore de diretórios e os arquivos no estado em que se encontravam naquele momento.
O CVS (Concurrent Version System), um conhecido sistema de controle de versões, foi inicialmente baseado em um sistema de controle de versões bastante simples, chamado RCS (Revision Control System), capaz de trabalhar apenas com arquivos individuais, e não projetos inteiros, como o Subversion (SVN), um outro importante e conhecido sistema de controle de versões. Hoje, esse modelo adotado pelo CVS já está obsoleto.
Após criadas, as revisões são imutáveis, pois fazem parte do histórico do projeto. Algumas ferramentas permitem alterar ou remover revisões antigas, mas não é um procedimento natural de um sistema de controle de versões.
Cada revisão está ligada à sua revisão diretamente ancestral e geralmente é armazenada como "uma fotografia" do momento (Figura 1).
A cópia de trabalho é uma cópia usável do projeto contido no repositório, em uma determinada revisão. Por padrão, obtém-se uma cópia de trabalho da última revisão, pois é sobre ela que o desenvolvedor prossegue com o desenvolvimento do projeto.
O processo de obtenção de uma cópia de trabalho é chamado de checkout. Sobre a cópia de trabalho, o desenvolvedor realiza as modificações no projeto, de forma semelhante a como faria sem o sistema de controle de versões. O sistema conhece o estado da cópia de trabalho original e, através dela, é possível reconhecer onde foram realizadas alterações.
Algumas operações precisam ser informadas explicitamente ao sistema de controle de versões, como adição, remoção e cópia de arquivos.
A submissão, ou commit, consiste em registrar o estado atual da cópia de trabalho com suas alterações de volta ao repositório. Uma nova revisão é criada como resultado da submissão. Após a submissão, a cópia de trabalho já é considerada como sendo derivada da nova revisão e o desenvolvedor pode continuar fazendo novas alterações e novas submissões normalmente.
"
Este é um post disponível para assinantes MVP
O controle de versão, ou versionamento, é uma prática comum na Engenharia de Software para manter o código fonte atualizado no contexto da equipe de desenvolvimento.
Sistemas de controle de versões são ferramentas de apoio aos desenvolvedores cuja principal função é controlar as modificações realizadas em um arquivo de projeto. Ainda possuem um mecanismo automatizado para identificar e controlar as modificações realizadas nos arquivos de um projeto ao longo do tempo, garantindo integridade e rastreabilidade das modificações. O controle de versões é visto como uma extensão natural do processo de desenvolvimento, permitindo que se possam realizar modificações paralelas e de forma coerente e padronizada, especialmente se tratando de equipes geograficamente dispersas.
O repositório é o componente principal do sistema de controle de versões. É o seu núcleo, composto por uma sequência de revisões armazenadas ao longo do tempo. Em geral, o usuário só interage diretamente com o repositório durante operações de leitura. A escrita no repositório é realizada por intermédio de outro componente denominada cópia de trabalho.
Cada revisão do repositório representa o estado completo do documento ou projeto em um determinado instante no tempo. Para um software, isso significa que uma revisão contém toda a árvore de diretórios e os arquivos no estado em que se encontravam naquele momento.
O CVS (Concurrent Version System), um conhecido sistema de controle de versões, foi inicialmente baseado em um sistema de controle de versões bastante simples, chamado RCS (Revision Control System), capaz de trabalhar apenas com arquivos individuais, e não projetos inteiros, como o Subversion (SVN), um outro importante e conhecido sistema de controle de versões. Hoje, esse modelo adotado pelo CVS já está obsoleto.
Após criadas, as revisões são imutáveis, pois fazem parte do histórico do projeto. Algumas ferramentas permitem alterar ou remover revisões antigas, mas não é um procedimento natural de um sistema de controle de versões.
Cada revisão está ligada à sua revisão diretamente ancestral e geralmente é armazenada como "uma fotografia" do momento (Figura 1).
A cópia de trabalho é uma cópia usável do projeto contido no repositório, em uma determinada revisão. Por padrão, obtém-se uma cópia de trabalho da última revisão, pois é sobre ela que o desenvolvedor prossegue com o desenvolvimento do projeto.
O processo de obtenção de uma cópia de trabalho é chamado de checkout. Sobre a cópia de trabalho, o desenvolvedor realiza as modificações no projeto, de forma semelhante a como faria sem o sistema de controle de versões. O sistema conhece o estado da cópia de trabalho original e, através dela, é possível reconhecer onde foram realizadas alterações.
Algumas operações precisam ser informadas explicitamente ao sistema de controle de versões, como adição, remoção e cópia de arquivos.
A submissão, ou commit, consiste em registrar o estado atual da cópia de trabalho com suas alterações de volta ao repositório. Uma nova revisão é criada como resultado da submissão. Após a submissão, a cópia de trabalho já é considerada como sendo derivada da nova revisão e o desenvolvedor pode continuar fazendo novas alterações e novas submissões normalmente.
"
A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Engenharia de Software Magazine
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
O que você achou deste post?
Cursos relacionados
Publicidade



