Controle de Versão
Controle de Versão
Controle de Versão
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
Um sistema de controle de verso (ou versionamento), VCS (do ingls version control system) ou ainda SCM (do ingls source code management) na funo prtica da Cincia da Computao e da Engenharia de Software, um software com a finalidade de gerenciar diferentes verses no desenvolvimento de um documento qualquer. Esses sistemas so comumente utilizados no desenvolvimento de software para controlar as diferentes verses histrico e desenvolvimento dos cdigos-fontes e tambm da documentao. Esse tipo de sistema muito presente em empresas e instituies de tecnologia e desenvolvimento de software. tambm muito comum no desenvolvimento de software livre. til, em diversos aspectos, tanto para projetos pessoais pequenos e simples como tambm para grandes projetos comerciais. Entre os mais comuns encontram-se as solues livres: CVS e SVN; e as comerciais: SourceSafe e ClearCase. O desenvolvimento de software livre prefere o SVN que vem substituindo o clssico CVS. Muitas empresas tambm adotam o SVN, embora algumas empresas prefiram uma soluo comercial, optando pelo ClearCase (da IBM) ou SourceSafe (da Microsoft). Optar por uma soluo comercial geralmente est relacionada garantia, pois as solues livres no se responsabilizam por erros no software e perdas de informaes[1], apesar das solues livres poderem ter melhor desempenho e segurana que as comerciais. A eficcia do controle de verso de software comprovada por fazer parte das exigncias para melhorias do processo de desenvolvimento de certificaes tais como CMMI e SPICE.[2]
ndice
1 Principais vantagens 2 Funcionamento bsico 2.1 Envio e resgate de verses 2.2 Histrico de envio 2.3 Trabalho em equipe 2.3.1 Mesclagens Otimistas vs Edies Exclusivas 2.3.2 Demonstrao de "Mesclagens Otimistas" passo-a-passo 2.3.2.1 1 passo: atualizando 2.3.2.2 2 passo: desenvolvendo 2.3.2.3 3 passo: submetendo 2.3.2.4 4 passo: necessita atualizao 2.3.2.5 5 passo: baixando atualizao e mesclando 2.3.2.6 6 e ltimo passo: submetendo a verso final 2.3.3 "Edies Exclusivas" ou ausncia de um sistema de controle de verso 2.3.3.1 Mesclagem no mtodo "Edies Exclusivas" 2.3.4 Bloqueio de arquivo 2.4 Comparao de verses 2.5 Conflitos 2.5.1 Mesclagem 2.5.2 Resoluo manual de conflitos 2.6 Ramificaes e marcaes
1 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
2.7 Otimizao de espao e velocidade 3 Integrao com outros softwares 4 Vocabulrio comum 5 Lista de sistemas de controle de verso 6 Notas e referncias 7 Bibliogafia 8 Ver tambm 9 Ligaes externas
Principais vantagens
As principais vantagens de se utilizar um sistema de controle de verso para rastrear as alteraes feitas durante o desenvolvimento de software ou o desenvolvimento de um documento de texto qualquer so: Controle do histrico: facilidade em desfazer e possibilidade de analisar o histrico do desenvolvimento, como tambm facilidade no resgate de verses mais antigas e estveis. A maioria das implementaes permitem analisar as alteraes com detalhes, desde a primeira verso at a ltima. Trabalho em equipe: um sistema de controle de verso permite que diversas pessoas trabalhem sobre o mesmo conjunto de documentos ao mesmo tempo e minimiza o desgaste provocado por problemas com conflitos de edies. possvel que a implementao tambm tenha um controle sofisticado de acesso para cada usurio ou grupo de usurios. Marcao e resgate de verses estveis: a maioria dos sistemas permite marcar onde que o documento estava com uma verso estvel, podendo ser facilmente resgatado no futuro. Ramificao de projeto: a maioria das implementaes possibilita a diviso do projeto em vrias linhas de desenvolvimento, que podem ser trabalhadas paralelamente, sem que uma interfira na outra.
Funcionamento bsico
Cada implementao possui sua particularidade, mas a maioria deles compartilham alguns conceitos bsicos.
Nota: Apesar disso, possvel que algum sistema especfico funcione de maneira totalmente diferente da explicada neste captulo.
A maior parte das informaes - com todo o histrico - ficam guardadas num repositrio (repository em ingls), num servidor qualquer. Geralmente o acesso feito por um cliente pela rede (via socket) e pode ser feito localmente quando o cliente est na mesma mquina do servidor. O repositrio armazena a informao - um conjunto de documentos - de modo persistente num sistema de arquivos ou num banco de dados qualquer. possvel que o armazenamento seja feito em outros dispositivos capazes de "eternizar" e resgatar facilmente a informao. Cada servidor pode ter vrios sistemas de controle de verso e cada sistema pode ter diversos repositrios, limitando-se na capacidade de gerenciamento do software e tambm no limite fsico do hardware. Geralmente um repositrio possui um endereo lgico que permite a conexo do cliente. Esse endereo pode ser um conjunto IP/porta, uma URL, um caminho do sistema de arquivos etc. Cada desenvolvedor possui em sua mquina uma cpia local (tambm chamada de working copy em ingls) somente da ltima verso de cada documento. Essa cpia local geralmente feita num sistema de arquivos simples (FAT, NTFS, ext3 etc). A cada alterao relevante do desenvolvedor necessrio "atualizar" as informaes do servidor submetendo (commit em ingls) as alteraes. O servidor ento guarda a nova alterao junto de todo o histrico mais antigo. Se o desenvolvedor quer atualizar sua cpia local
2 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
necessrio atualizar as informaes locais, e para isso necessrio baixar novidades do servidor (ou fazer update em ingls).
fig. a - Esquema geral fsico. "Sistema" representa o sistema de controle de verso do lado Servidor (server-side). "Software Cliente" representa o sistema de controle de verso do lado Cliente (client-side).
3 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
fig. c - Em sistemas no estilo do CVS, cada documento tem sua verso controlada individualmente. Assim, necessrio adicionar marcas ('tags' - em ingls) para que se tenha uma "fotografia" de determinado momento. Ou seja, o versionamento do conjunto fica a cargo do usurio pois a numerao gerada pelo sistema de controle de verso no fornece "alinhamento" aos documentos.
fig. d - J em sistemas no estilo do SVN, o controle de verso feito por cada envio ao servidor. Ou seja, h uma verso global para todos os documentos. Se voc enviar 4 verses do arquivo B enquanto voc enviou apenas 2 verses do A, ambos esto na verso final que a 4. Perceba que toda "fotografia" de qualquer momento ser sempre uma coluna alinhada como mostra a figura.
Se o arquivo fosse armazenado diretamente num sistema de arquivos simples, no haveria histrico, a menos que isso fosse feito manualmente atravs de cpias completas dos documentos numa organizao (que pode ou no envolver pastas) que depender do desenvolvedor.
fig e - Num sistema de arquivos simples, sem controle de verses, seria necessrio fazer cpias manualmente para manter as verses anteriores, o que poderia se tornar muito confuso com o tempo conforme o nmero de verses aumentam.
Histrico de envio
Muitas vezes, possvel acrescentar comentrios no envio das alteraes, o que facilita tambm uma possvel anlise do histrico. Geralmente o relatrio com as verses e os comentrios de cada envio so chamados de "histrico" ou "log", e uma anlise deste relatrio pode facilitar em muitos aspectos no desenvolvimento do produto. A documentao do CVS, SVN e outros, recomendam que o comentrio do histrico seja amplo, geral e abstrato, ou seja, que no se limite explicao da mudana do cdigo em si, mas sim sobre o que foi mudado ou acrescentado no conceito ou no funcionamento como um todo. A mudana do cdigo pode ser analisada atravs de uma diferena (ou diff) entre duas verses, portanto o comentrio seria til apenas para explicar a mudana de forma lgica. Exemplo prtico dessa recomendao: utilize "acrscimo de uma condio que verifica se existe saldo na
4 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
conta para no permitir que seja sacado sem saldo" ao invs de um comentrio contendo o prprio cdigo modificado como: "+ if (!this.haSaldoNaConta()) { this.proibeSaque() }"
Trabalho em equipe
O sistema tambm bastante til quando se trabalha com vrios desenvolvedores de modo simultneo, resolvendo de modo muito satisfatrio conflitos de verses. A maioria dos sistemas possuem diversos recursos como mesclagem e diviso de ramo do desenvolvimento para auxiliar nessas tarefas. Para que seja possvel o trabalho em equipe, o sistema de controle de verso pode possuir um mini sistema de controle de usurios embutido ou pode utilizar algum outro sistema de autenticao separado. Assim, possvel identificar cada usurio, que geralmente fica protegido por uma senha pessoal, ou alguma senha criada pelo administrador de sistemas. No CVS, por exemplo, possvel escolher o mtodo de autenticao a ser usado, dentre vrias opes. No caso do SVN, por exemplo, se ele estiver rodando via Apache, o controle de usurios poder ser feito pela autenticao padro do Apache. Embora menos comum, possvel tambm configurar o SVN para utilizar o usurio do sistema, como os usurios do Linux ou do Windows. Mesclagens Otimistas vs Edies Exclusivas Com relao ao trabalho em equipe num sistema de controle de verso, h basicamente dois mtodos (ou filosofias) relevantes de edio: "Optimistic Merges" ("Mesclagens Otimistas") ou "Branch and Merge" ("Ramificando e Mesclando") ou ainda "Copia-modifica-resolve"[2] "Exclusive Lock" ("Tranca exclusiva", "Edies exclusivas") ou ainda "Trava-modifica-destrava"[2]) Nota: a ausncia de um sistema de controle de verso, ou seja, o trabalho direto num sistema de arquivos comum equivalente ao "Exclusive Lock" nesse aspecto. H tambm alguns sistemas, como o MediaWiki (pelo menos at a verso 1.8) e. g., que permitem a edio simultnea (sem trancar ou bloquear o outro) mas que no gerenciam automaticamente os conflitos, tendo que ser feitos manualmente sempre. A filosofia "Optimistic Merges" ("Mesclagens Otimistas"), um mtodo de conflitos otimista que geralmente padro na maioria dos sistemas abertos, como o SVN e CVS. Essa filosofia presume que os conflitos de edies so to pequenos e pontuais se houver relativa atualizao frequente do repositrio por ambos que a grande maioria das fuses podem ser feitas de forma automtica, restando para fuses manuais somente casos em que a alterao for feita num mesmo ponto de um mesmo arquivo. A prtica demonstra que essa viso , na verdade, tambm a mais realista. O captulo #"Demonstrao de Mesclagens Otimistas" demonstra como esse mtodo funciona na prtica. Em contrapartida, numa viso mais pessimista (ou "conservadora"), pode-se afirmar que, se houver muitas modificaes simultneas sem intervalos pequenos de atualizao mtua num mesmo arquivo, possvel que a fuso manual se torne to complicada a ponto de desperdiar parcialmente ou totalmente o trabalho de um ou de outro editor usurio do sistema. por esse principal motivo que alguns sistemas, geralmente as solues comerciais como o ClearCase e o SourceSafe, adotam outro mtodo de trabalho como padro: o "Exclusive Lock" ("Tranca exclusiva" ou "Edies exclusivas"). Esse mtodo consiste basicamente em deixar apenas um usurio editar um arquivo de cada vez, sendo que este fica bloqueado enquanto no houver um reenvio (atualizao) do editor ao servidor. possvel mesclagem neste mtodo, mas apenas aps a liberao (ou desbloqueio) do editor. O captulo #"Edies Exclusivas" ou ausncia de um sistema de controle de verso demonstra como esse mtodo funciona na prtica.
5 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
Demonstrao de "Mesclagens Otimistas" passo-a-passo A seguir, demonstrado em alguns passos, numa edio fictcia, como funciona o mtodo de "Mesclagens Otimistas". Cada animal personificado a seguir nas figuras - Pig, Dog e Panda - representam um programador independente (com ou sem comunicao entre si), que podem estar em locais fsicos separados.
1 passo: atualizando
fig g - todos trabalham simultaneamente, perceba que o Dog e o Panda esto modificando o mesmo documento porm em locais diferentes (linhas distintas).
3 passo: submetendo
6 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
fig h - Pig e Dog terminaram o trabalho e submetem (commit) as alteraes ao Servidor atravs do software Cliente. Perceba que o Panda ainda no terminou o trabalho.
4 passo: necessita atualizao
fig i - Panda tenta enviar o arquivo ao Servidor, mas no consegue porque o Cliente alerta que h uma verso mais atualizada. No caso, a verso do documento C que Dog submetera anteriormente.
5 passo: baixando atualizao e mesclando
7 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
fig j - Nesse caso Panda precisa atualizar (update) sua verso local antes de submeter as alteraes. Geralmente o software Cliente faz uma cpia de segurana do arquivo local antes de tentar mesclar (merge) as diferenas. Nesse caso, como na maioria dos casos reais, Panda e Dog modificaram locais diferentes no arquivo e o Cliente conseguiu mesclar as diferenas com sucesso. Nesse caso, ele inclui na verso local tanto a alterao de Dog quanto a de Panda. A maioria dos sistemas analisa as diferenas por linha alterada, mas possvel que esse bloco seja por pargrafo ou at por letras. Quando a mesma regio do documento modificada acontece o conflito e ele precisa ser resolvido manualmente; esse caso ser melhor explicado depois.
6 e ltimo passo: submetendo a verso final
fig k - Depois de mesclado com sucesso, Panda testa para ver se realmente est tudo OK e simplesmente reenvia (commit) ao Servidor atravs do Cliente.
8 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
"Edies Exclusivas" ou ausncia de um sistema de controle de verso No mtodo mais conservador, ou quando se compartilha o mesmo projeto numa rede diretamente num sistema de arquivos simples, sem um sistema de controle de verso, alguns arquivos ficam bloqueados para escrita enquanto esto sendo utilizados. Ainda, um agravante na ausncia do sistema de controle de verso, que o fluxo de informaes pela rede alto porque a cada modificao substancial necessrio reenviar o documento todo e a chance de corromper arquivos tambm aumenta; o que no acontece com um sistema de controle de verso, pois cada desenvolvedor possui uma cpia local do projeto, trabalhando localmente, baixando as atualizaes e enviando as alteraes.
fig l - (compare com a fig. f) Perceba a dificuldade em trabalhar em equipe utilizando um compartilhamento simples de arquivos pela rede. No exemplo da figura, o desenvolvedor Panda est ocioso enquanto Dog no terminar de trabalhar com o documento C. Diferentemente, quando se utiliza um sistema de controle de verses cada desenvolvedor pode trabalhar tranquilamente em sua cpia local e o sistema fica encarregado de mesclar o que for necessrio de acordo com as mudanas simultneas.
Mesclagem no mtodo "Edies Exclusivas"
A mesclagem no mtodo "Edies Exclusivas" ainda possvel desta forma: 1. 2. 3. 4. 5. 6. 7. usurio A d checkout (ou update). B tenta dar checkout e no consegue porque A est bloqueado. B d checkout no reservado (sem bloquear). B tenta dar commit (ou checkin), mas no consegue, B fica aguardando A liberar o lock (bloqueio). A d commit ou release, liberando a trava. B d um update & merge (que j cria um lock para ele). B d commit com a verso mesclada.
Bloqueio de arquivo Alguns sistemas permitem o bloqueio voluntrio de qualquer arquivo. Alguns sistemas que suportam so o CVS e SVN (a partir da verso 1.2.0), por exemplo. A opo de bloquear um arquivo muito til nos seguintes casos:
9 de 14 07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
Quando h trabalho simultneo num mesmo arquivo de difcil ou impossvel mesclagem. Ao editar um arquivo binrio (que no permite a mesclagem), como arquivos compactados, bibliotecas, imagens etc. No muito recomendvel trabalhar com arquivos binrios num sistema de arquivos, porm muitas vezes til deixar arquivos binrios junto do cdigo-fonte ou da documentao, principalmente em casos em que difcil gerar esses arquivos, como imagens, algumas bibliotecas etc. Quando h muita dificuldade na comunicao entre os desenvolvedores e conflitos freqentes que desperdiam muito tempo manual de mesclagem.
Comparao de verses
possvel, na grande maioria dos sistemas de controle de verso (e quando o tipo de arquivo permite isso), comparar (tambm chamado de diff ou diferena) quaisquer verses entre si, enviadas a qualquer tempo. Saber exatamente o que foi acrescentado, modificado ou excludo em qualquer ponto dos documentos. Isso permite que seja feito uma anlise minuciosa das alteraes desde a criao do projeto at seu estado atual.
Analise esta figura e veja um exemplo prtico real de uma diferena entre duas verses: (tambm neste link: [1] (http://pt.wikipedia.org/w/index.php?title=Sistema_de_controle_de_verso&diff=3305934&oldid=3305901) ). Essa diferena feita pelo software MediaWiki que exibe a diferena com cores diferentes e smbolos para facilitar o entendimento. A cor amarela indica que a linha foi retirada, a cor verde que a linha foi colocada e a cor vermelha indica qual palavra ou trecho foi modificado dentro da linha. O smbolo (+) indica que foi acrescentado e o (-) que foi retirado.
Conflitos
chamado de conflito de edio a situao em que duas ou mais usurios modificam o mesmo documento
10 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
no mesmo intervalo de tempo entre o envio de uma nova verso ao sistema. A chance de conflitos aumentam quando aumentam o nmero de usurios utilizando o mesmo conjunto de documentos. O envio de alteraes muito grandes podem tambm aumentar a chance de conflito. Mesclagem A mesclagem (ou merge em ingls) consiste na aglutinao (ou fuso) automtica de verses atravs da comparao entre elas, quando h um conflito de edies simples. Quando um conflito direto, ou seja, no mesmo ponto do mesmo documento e o sistema no conseguiu resolver o conflito automaticamente, a mesclagem pode ser feita manualmente. Algumas implementaes como o MediaWiki (at a verso 1.8 pelo menos) no possuem o sistema de "mesclagem", portanto quando h qualquer conflito, mesmo os mais simples, necessrio resolv-lo manualmente como descreve a seo #Resoluo manual de conflitos. Resoluo manual de conflitos Quando dois ou mais desenvolvedores modificam uma mesma regio num documento necessrio resolver o conflito "manualmente". O software de Cliente far uma cpia de segurana da sua alterao para que no haja chance de voc perd-la e depois mostrar o local de conflito. O software geralmente mostra os conflitos na tela e o desenvolvedor escolhe qual verso manter. Geralmente quando acontece esse tipo de coisa porque houve falha na organizao de diviso do trabalho e provavelmente uma alterao semelhante foi produzida na mesma regio.
Ramificaes e marcaes
Num sistema moderno de controle de verses possvel quebrar a linha do desenvolvimento em mais de um caminho. Isso pode ser chamado de ramificao (ramo), braos ou em ingls branches. Isso muito til quando se conquista uma verso estvel dos documentos (ou software) ou quando se quer fazer uma tentativa "no convencional" fora do ramo principal.
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
Os sistemas de controle de verses mais flexveis permitem que seja possvel integr-los a outros softwares. A integrao mais comum em IDE (ambientes de desenvolvimento) atravs de plugins. Alguns ambientes que suportam a integrao de alguns sistemas so: IntelliJ IDEA, Eclipse, NetBeans e Visual Studio. O TortoiseSVN e o TortoiseCVS, clientes do SVN e CVS respectivamente, funcionam sobre o Windows Explorer.
Vocabulrio comum
Atualizao / Update - Atualiza na cpia local as novidades do Servidor, provavelmente as mudanas enviadas por outro desenvolvedor. Baixar / Check-out ou checkout - Quando no existe cpia local e necessrio baixar todo o projeto do servidor. Nesse processo guardado algum tipo de meta-dados (geralmente em pasta oculta) junto dos arquivos baixados. Conflito / Conflict - a alterao simultnea (entre um update e um commit) de um mesmo documento por usurios diferentes. Cpia local / Working copy ou working area - geralmente uma pasta no sistema operacional do desenvolvedor (do lado Cliente) que mantm a cpia da ltima verso do projeto. atravs da cpia local que o Cliente compara com a ltima verso do Servidor e sabe exatamente o que foi modificado. Efetivar ou submeter / Commit, submit ou check-in - Enviar as alteraes da cpia local ao Servidor atravs do Cliente. Exportar / Export - Semelhante ao checkout, mas no cria meta-dados junto da informao baixada. Esse processo utilizado para gerar uma verso "distribuvel" e impede (por no conter os meta-dados) que o desenvolvimento seja feito sobre ele. Importar / Import - o processo que envia uma rvore de diretrios ainda no controlada (sem meta-dados) para o repositrio pela primeira vez. Marcao / Tag ou release - dar um nome a um determinado "momento" do repositrio, ou seja, como uma "fotografia" de determinada data. Alguns sistemas, como o SVN, no diferenciam entre "marcao" e "ramificao", pois possvel tratar uma ramificao com o conceito ou finalidade de marcao. Mesclagem / Merge ou integration - Permite que mais de um utilizador modifique um mesmo documento ao mesmo tempo, comparando as diferenas e mesclando mantendo as duas alteraes (se possvel). A mesclagem geralmente feita localmente (lado Cliente) na atualizao de um documento quando h uma verso no Servidor mais recente que a sua. Mesclagem inversa / Reverse integration - quando um brao mesclado linha principal. Modificao, diferena ou mudana (Change ou diff.) - Representa a diferena entre uma verso e outra de um mesmo documento. Raiz, linha principal ou brao principal / Head, trunk, mainline - o caminho de revises que no se quebrou em um brao. Ramificao ou brao / Branch - Quando a linha de desenvolvimento precisa ser dividida em duas ou mais. Repositrio / Repository - local no Sistema onde fica armazenado todas as verses, desde a primeira at a ltima. Cada sistema geralmente pode ter mais de um repositrio. Resoluo de conflito / Conflict resolve ou Solve - Quando os desenvolvedores precisam analisar o que entrou em conflito e escolher qual alterao far parte da verso final. Reviso ou verso / Revision ou version - Representa um determinado "momento" (uma "fotografia") de um repositrio ou documento. Travar / Lock - Em alguns sistemas possvel bloquear um arquivo e ningum pode alter-lo nesse momento. Isso pouco usado e pouco recomendado pois impede o uso simultneo do mesmo arquivo por mais de um desenvolvedor, mas pode ser bastante til com arquivos binrios e/ou difceis ou impossveis de serem mesclados. ltima verso / last revision - a ltima verso enviada ao sistema no brao principal. Verso atualizada / Up-to-date - quando a verso local idntica que est no servidor. Quando algum submete um documento (que voc tambm est trabalhando) antes de voc, o sistema no
12 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
permite que voc envie a sua verso enquanto voc no deixar sua verso local atualizada (up-to-date). Verso estvel / Stable version - Chama-se de "verso estvel" uma determinada verso do sistema que est compilando normalmente e no possui nenhuma anomalia grave. Verso instvel / Unstable version - Chama-se de "verso instvel" uma verso do sistema que no est compilando ou que possui alguma anomalia bastante visvel e geralmente grave.
Notas e referncias
1. Geralmente as licenas consideradas "livres" explicitam que o autor no se responsabiliza e no h nenhum tipo de garantia por qualquer prejuzo que se tenha no uso. A licena GNU General Public License, por exemplo, bem clara: "Este programa distribudo na expectativa de ser til, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implcita de COMERCIALIZAO ou de ADEQUAO A QUALQUER PROPSITO EM PARTICULAR. (...)" 2. 2,0 2,1 2,2 Conceitos Bsicos de Controle de Verso de Software, por Andr Felipe Dias publicado por Pronus Engenharia de Software (04/08/2006) (http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/controle_versao.php?pagNum=0) 3. A quebra de linha num HTML ou XML altamente recomendada porque geralmente um sistema de controle de verso faz a anlise das diferenas linha-por-linha e no caractere-por-caractere. Sendo assim, se o XML possuir uma nica linha com todas as tags, por exemplo, uma diferena entre uma
13 de 14
07/12/2007 09:53
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o
verso e outra seria a da linha toda sempre, mesmo que a alterao tenha sido num ponto especfico. 4. Ver http://bazaar-vcs.org 5. Desenvolvido por Linus Torvalds, criador do Linux, mantm o controle de verses do kernel Linux. O grande diferencial a alta velocidade. Ver http://git.or.cz/
Bibliogafia
MOLINARI, Leonardo. Gerncia de Configurao - Tcnicas e Prticas no Desenvolvimento do Software. Florianpolis: Visual Books, 2007. 85-7502-210-5 MIKKELSEN, Tim, PHERIGO, Suzanne. Parctical Software Configuration Management: The Latenight Developer's Handbook. Upper Saddle River, NJ, EUA: Prentice Hall PTR, 1997. 0-13-240854-6 Cristiano Caetano. CVS: Controle de Verses e Desenvolvimento Colaborativo de Software. ed. Novatec, 2004.
Ver tambm
Gerncia de Configurao de Software
Ligaes externas
Manual Completo do Subversion (SVN) (http://svnbook.red-bean.com/nightly/pt_BR/index.html) Site oficial do Subversion (SVN) (http://subversion.tigris.org/) WinCVS (CVS para Windows) (http://www.wincvs.org/) Referncia Debian Captulo 12 - Sistemas de Controle de Verso (Resumo de alguns comandos do CVS) (http://www.debian.org/doc/manuals/reference/ch-vcs.pt-br.html) Alguns comandos do Subversion (SVN) (http://intranet.dcc.ufba.br/?q=node/17) Obtido em "http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o" Categoria: Sistemas de controlo de verso Esta pgina foi modificada pela ltima vez a 07h23min, 22 de Outubro de 2007. O texto desta pgina est sob a GNU Free Documentation License. Os direitos autorais de todas as contribuies para a Wikipdia pertencem aos seus respectivos autores (mais informaes em direitos autorais).
14 de 14
07/12/2007 09:53