05.12  
Inicio arrow Noticias arrow Projeto FreeBSD se prepara para substituir CVS por Subversion.
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histórico da Lista
Galeria de Imagens
Contador Usuários FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS
-
DOC-BR (FUG BR)
Introdução
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usuário

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma
Histórico da Lista
  • [FUG-BR] Sistema Contábil ou Sistema de Livro Caixa
  • Re: [FUG-BR] Sistema Contábil ou Sistema de Livro Caixa
  • [FUG-BR] OFF TOPIC - Pane no servidor de licenças SonicWall...
  • [FUG-BR] problemas para atualizar o sistema
  • [FUG-BR] Regras IPFW
  • Re: [FUG-BR] Regras IPFW
  • [FUG-BR] RES: Regras IPFW
  • [FUG-BR] RES: Conexão VPN

  • Alertas em Ports
  • squirrelmail -- Cross site scripting vulnerability
  • cups -- multiple vulnerabilities
  • hplip -- hpssd Denial of Service
  • openoffice -- arbitrary code execution vulnerabilities
  • samba -- potential leakage of arbitrary memory contents



  • Projeto FreeBSD se prepara para substituir CVS por Subversion. PDF Imprimir E-mail
    Por Redação FUG-BR   
    21/09/2006

    Logo do SubversionO Projeto FreeBSD se prepara para substituir CVS por Subversion, assim como diversos outros projetos de Software Livre já fizeram. Confira nessa notícia uma introdução ao Subversion, conheça alguns dos maiores usuários desse sistema de controle de versões e saiba como o Projeto FreeBSD está se preparando para substituir o CVS pelo SVN. 

     


    Subversion é um sistema de código aberto para controle de versão de arquivos, especialmente utilizado para controle de versão de software. Subversion gerencia o ciclo de vida cronológico de arquivos e diretórios, em formato de árvore, disposto em um repositório central. O repositório é similar a um sistema de arquivos, exceto pelo fato dele manter as informações de cada modificação feita em todos arquivos e diretórios, e distinguir essas modificações entre versões distintas desses arquivos ao longo do tempo. Enfim, é um sistema de controle de versões, como é o CVS, como é RCS, como Perforce, como Clear Case, como Star Team, como Microsoft Team Foundation, entre outros sistemas com o mesmo objetivo.

    O Projeto FreeBSD utiliza para controle de versões o CVS - isso é público e notório - e o Perforce (isso não é tão sabido, especialmente porque o Perforce é um sistema de controle de versões comercial - de fato o Perforce é fornecido para o Projeto FreeBSD e para a FreeBSD Foundation sem quaisquer ônus financeiro. Por dois motivos, primeiro, porque alguns dos desenvolvedores do Performance são commiters FreeBSD, e segundo porque o Projeto FreeBSD é um dos maiores e mais complexos projetos de desenvolvimento distribuído, com uma das mais interessantes e ramificadas estruturas organizacionais, segundo a empresa criadora do Perforce o Projeto FreeBSD é diferente e especial no que tange ao desenvolvimento concorrente pois envolve três projetos completamente distintos, o desenvolvimento do sistema (desenvolvimento no src), desenvolvimento da Coleção de Ports, e desenvolvimento de Documentação (man pages, handbooks, FAQs, web site, e SGMLs em geral como releases, anúncios, etc), cada subprojeto com suas peculiaridades, com nomenclaturas de tags e branches (ramos) distintos nas árvores concorrentes, e com classificações em comum. Subprojetos distintos e independentes que em determinado momento se reagrupam para formar o FreeBSD como conhecemos. Perforce considera o Projeto FreeBSD um de seus maiores cases de utilização). Muitos desenvolvedores preferem o Perforce à opção livre em uso no Projeto FreeBSD hoje, o CVS. Mas muitos prefeririam o Subversion ao Perforce, e quase todos o Subversion ao CVS.

    Mas, o que o subversion tem de tão especial, e porque o Projeto FreeBSD não o utiliza?

    O subversion (SVN) tem muito mais recursos que o CVS, e alguns recursos comum a ambos são melhor implementados no  SVN. Por exemplo, o suporte a formato binário no SVN é automático, a identificação do tipo de arquivo se faz durante o manuseio deste, não é necessário um comando especial de classificação como no CVS. SVN consegue fazer diffs binários, algo que o CVS não consegue, e consegue fazê-lo melhor que sistemas comerciais como Clear Case, Microsoft Team Foundation ou mesmo o Perforce. Isso porque SVN utiliza um algorítimo baseado no BSDiff e bspatch criados por Colin Percival (Security Officer do FreeBSD). E BSD não é só a base da tecnologia do SVN; Subversion utiliza Berkeley DB como database em seu backend, e a licença desse sistema de controle de versões é do tipo BSD Clássica, diferente do CVS que é GPL. Isso garante possibilidades mais flexíveis de uso do Subversion em ambiente corporativo e similares em ambiente livre.

    Subversion ainda tem diversos plugins de extensão de suas funcionalidades e permite fácil integração com outros subsistemas e softwares, como diretórios WebDAV e Apache2.

    Se você está curioso sobre o Subversion especialmente como ele se compara com outros sistemas de versionamento, dê uma olhada aqui

    Para o usuário avançado acostumado com o CVS, pode se deparar com uma mudança teórica bastante grande. O SVN não trata tags como o CVS. SVN considera tag apenas uma variação secundário de um branch, e na prática é exatamente como um branch, apenas uma cópia da ramificação atual da árvore. Isso pode gerar alguma confusão ou dificuldade de discernimento de usuários acostumados demais com o uso de tags ou dependentes disso. Por outro lado em um sistema SVN não existe como no CVS a "revisão" de um determinado arquivo. Os arquivos não tem versões independentes. Todos os arquivos são parte de uma mesma revisão, e a modificação em um único arquivo altera a revisão de todos. Isso significa que não tratamos "este arquivo na revisão número X", por exemplo, /usr/src/sys/netinet/ip_fw2.c na revisão 1.106.2.15. Agora os arquivos são tratados " como na revisão X da árvore", por exemplo, /usr/src/sys/netinet/ip_fw2.c da revisão 2.275 do ramo -CURRENT. Isso é outra grande diferença, mas ela traz mais consistência ao sistema de controle de versões, e acaba resolvendo a questão das tags. Esses fatos, em combinação de fatores técnicos - Projeto FreeBSD é taltamente dependente de tag e branches - aliados a fatores humanos - usuários e desenvolvedores são muito acostumados a tags e branches - tornam a mudança de uma solução de controle de versões para outra, processo não muito trivial.

    Diversas empresas estâo migrando de soluções diversas de controle de versões para SVN, bem como projetos livres. A Apache Foundation há algum tempo substituiu CVS pelo SVN. O KDE também vai de SVN há algum tempo. O UOL (Universo Online) vem migrando de Clear Case para SVN aos poucos. A Conectiva conta com mais de 30GB em repositório SVN e mais de 50000 revisões. Também no Brasil a Universidade FUMEC, em especial o I-NETI , setor de ensino a distância, optou por SVN como sua solução de controle de versões. Outros grandes usuários de SVN são o Projeto GCC, a Oracle e a Teledata. A Apple incorporou trechos do SVN (fato possível devido a sua licença BSD) especialmente modificado para a versão Leopard do Mac OS X - em uso no recurso Time Machine do Leopard. Outros usuários podem ser encontrados no site do Subversion.

    A maioria dos mais dependentes usuários de CVS se acostumaram com SVN e agora encontram vantagens nesse segundo sistema sobre o primeiro, no Projeto FreeBSD. Isso quer dizer que a migração de CVS para SVN no Projeto FreeBSD é mais que eminente.

    Recentemente Nik Clayton ( Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo ) preparou no http://wikitest.freebsd.org/SVN_Repo_Layout documentação e propostas para organização do Projeto FreeBSD em base de versionamento Subversion. A estrutura será próxima de:

    / freebsd / 
    src / {trunk, branches, tags }
    www / " " "
    doc / " " "
    ports / " " "

    / vendor /
    sendmail /
    8.13.7 /
    8.13.8 /
    current /
    bind /

    / projects /
    trustedbsd / {trunk, branches, tags}
    snmpng / " " "
    kse / " " "
    / user /
    n / nik /
    r / rwatson /

    Esse layout não é final. Modificações devem existir, mas não são esperadas grandes mudanças na organização acima. Por algum tempo ainda o repositório CVS será mantido, mesmo depois da efetivação do SVN, mas em algum momento no futuro o CVS será completamente descontinuado e inclusive removido da base do FreeBSD.


    Esta notícia foi contribuída pela FreeBSD Brasil LTDA , que presta consultoria em implementação e capacitação de uso do Subversion, tendo implementando SVN em inúmeros instituições, inclusive citadas ao longo da notícia como a Universidade FUMEC.

    Comentários
    Clear Case
    Por Joao Paulo - 0v3rm1nd em 22/09/2006 15:57:25
    Queria saber mais sobre essa substituicao do UOL. Clear Case anda sendo uma vitima de substituicoes, por solucoes livres ou proprietarias. Mas pra variar aposto que ninguem no UOL tem autorizacao para falar nada hehe.


    Comente!*
    Nome:
    E-mail
    Homepage
    Título:
    Comentário:

    Código:* Code

    Última Atualização ( 21/09/2006 )
     
    < Anterior   Próximo >
    FUG-BR - Espalhando BSD
    Dicas Rápidas:

    No editor de textos vi(1), para remover os ^M de arquivos MS-DOS (Windows), use:

    :g/^V^M/s//

     

     






    Wallpapers
    Sua Opiniao
    Online:
    Nós temos 23 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA

    FUG-BR: Desde 1999, espalhando BSD pelo Brasil.