About me

About

2011-09-24

Sistemas de controlo de versões visitados.

No início apareceram os sistemas de controlo de versões para ficheiros individuais, casos do RCS e SCCS. Serviam para versionar ficheiros isoladamente, um a um. Introduziram um conjunto de comandos para suportar a gestão de versões que são a base do que se usa actualmente.

Principais comandos do RCS
cicheckin / commit
cocheckout
rcsdiffdiferenças entre revisões
rcsuma espécie de “add”
rloglog

Depois vieram os sistemas de controlo de versões com repositório central, como o CVS e SVN. Estes sistemas já operavam em grupos de ficheiros, permitindo o conceito de projecto. O repositório central estava associado a um sistema de servidor de qualquer tipo o que facilitava o trabalho de equipas nos mesmos projectos. O CVS originalmente usava o RCS como motor de controlo de versões (ficheiros de extensão ,v).

Principais comandos do CVS herdados dos sistemas singulares
cvs commit
cvs checkout
cvs diff
cvs add
cvs log
Alguns comandos criados para suportar o conceito de repositório
cvs updatesincroniza com o repositório
cvs removeremove ficheiros do repositório
cvs tagcria branches e tags

Nos últimos anos multiplicaram-se as implementações de sistemas de controlo de versões distribuídos. Nestes sistemas, cada working directory / working copy é um repositório completo local. Todas as operações dos sistemas de repositório central estão agora disponíveis localmente e adicionaram-se novos comandos (principais: pull, push) para sincronizar repositórios. Como cada cópia local é um repositório, cada commit produz um changeset (eventualmente) diferente por repositório, que passa a ser identificado pelo sua assinatura (SHA1 por exemplo).

Os sistemas deste género com mais hype nos dias que correm são o GIT, da fama do Linus Torvalds, e o Mercurial (HG).

Repositório central:

Sistemas distribuídos:

Comparação entre sistemas de controlo distribuídos com contextualização:

Sem comentários:

Enviar um comentário