Mudanças entre as edições de "Controle de versão"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 35: Linha 35:
 
</graphviz></center>
 
</graphviz></center>
  
Há várias implementações de controle de versão, desde sistemas centralizados como [http://www.nongnu.org/cvs/ CVS] e [http://subversion.tigris.org/ Subversion] até distribuídos como [http://git-scm.com/ Git], [http://bazaar.canonical.com/en/ Bazaar] e [http://mercurial.selenic.com/ Mercurial].
+
Há várias implementações de controle de versão, desde sistemas centralizados como [http://www.nongnu.org/cvs/ CVS] e [http://subversion.tigris.org/ Subversion] até distribuídos como [http://git-scm.com/ Git], [http://bazaar.canonical.com/en/ Bazaar] e [http://mercurial.selenic.com/ Mercurial]. Para este semestre de 2011, foi adotado o Git como ferramenta padrão para os projetos de [[Trabalho de Conclusão de Curso I|TCC I]].
  
 
=Referências=
 
=Referências=

Edição das 23h19min de 23 de março de 2011

O controle de versão, também chamado controle de revisão, refere-se ao controle de alterações de documentos, permitindo assim um ambiente para a produção colaborativa de conteúdo.

Por ser bastante utilizando no desenvolvimento de sistemas, possui significativa documentação disponível. Entretanto, cabe aqui destacar alguns conceitos importantes:

  • Repositório: é o local de armazenamento para onde convergirão as alterações dos documentos. Deve, portanto, possuir um mecanismo para atender operações concorrentes, tratando tais operações ao longo de uma linha temporal. Os documentos em sua versão final são, portanto, o resultado das várias alterações desde a sua criação até o seu estado corrente.
  • Versão (ou revisão): é uma alteração de um ou mais documentos a partir do seu estado (versão/revisão) anterior. Por tratar-se de uma ferramenta colaborativa e, portanto, multiusuário, deve registrar informações como:
    • O quê?: o conteúdo da alteração;
    • Quem?: o autor da alteração;
    • Quando?: data e hora para gerar a linha histórica de alterações.
  • Linha mestre (baseline): linha histórica principal do repositório. Pode haver ramificações, ou variantes da linha principal.
  • Ramificação (branch): conjunto de alterações que divergem da linha mestre. Utilizada geralmente para testes e experimentos. Cabe ressaltar que é possível mesclar ramificações, gerando assim novas versões.
  • Marcação (tag): uma vez a linha mestre e mesmo as ramificações podem se estender por várias versões, é recomendado marcar pontos ao longo da história dos documentos. Tais pontos auxiliam os editores no controle das alterações, e é comum utilizar um padrão numérico para tal.
<graphviz>

digraph RCS { subgraph clusterRepositório { label="Repositório"

0 [shape=Mrecord,label="Documento original"] 1 [shape=Mrecord,label="Versão 1"] 2 [shape=Mrecord,label="Versão 2"] 3 [shape=Mrecord,label="Versão 3"] "..." [shape=plaintext,label="..."] n [shape=Mrecord,label="Versão n"] }


0 -> 1 [label="João, 01/03/2011"] 1 -> 2 [label="Maria, 02/03/2011"] 2 -> 3 [label="Maria, 05/03/2011"] 3 -> "..." [label="João, 10/03/2011"] "..." -> n [label="Maria, 23/03/2011"] }

</graphviz>

Há várias implementações de controle de versão, desde sistemas centralizados como CVS e Subversion até distribuídos como Git, Bazaar e Mercurial. Para este semestre de 2011, foi adotado o Git como ferramenta padrão para os projetos de TCC I.

Referências


Este material foi produzido para a discplina TCC I.