Gerir Projectos de Código

Tempo de leitura: 3 min

Este artigo é um pouco periférico ao assunto central deste blog – a gestão de versões em projectos de programação.

O Problema Base

No mundo SIG há uma vertente de desenvolvimento de aplicações, das mais simples, como scripts que automatizam pequenos processos, até aplicações complexas web ou desktop.

Várias dificuldades mundanas se levantam ao longo de um projecto deste tipo, e talvez a mais importante seja: onde está a última versão?

Pessoalmente, uma questão com que me confronto frequentemente, quando preciso de voltar a trabalhar num programa/script/aplicação é bem simples: onde raio a tenho guardada, de entre os PCs e contas de utilizador que uso??? Raios!

A Gestão de Versões

Uma breve nota sobre gestão de versões… Para quem não conhece esta abordagem, o SVN é um programa que consegue manter o histórico de todas as alterações feitas a um conjunto de ficheiros. Existem depois ferramentas em cada PC que a partir de uma directoria detectam os ficheiros alterados e enviam-nos para o servidor, que os armazena. Ou seja, consegue-se assim um repositório central de ficheiros, actualizados, e ainda com um histórico de alterações – denominando-se este processo Gestão de Versões. Mais info na net, por exemplo aqui em português. Há outras opções para além do SVN que têm vindo a ganhar popularidade, principalmente porque usam o conceito de repositórios distribuídos (ver o Mercurial).

A nível empresarial, tenho as coisas mais organizadas – usamos um servidor central com o Visual SVN Server, e cada técnico que desenvolve aplicações tem a obrigação de lhe fazer chegar todas as alterações que vai fazendo. Cada PC tem instalado o TortoiseSVN. Para garantir que há disciplina (coisa estranha a portugueses, e muito mais a portugueses programadores!!), basta estabelecer a regra de que é apenas permitido colocar aplicações no servidor através do SVN (não há copy/paste!). Como o SVN coloca um pequeno ícone nas pastas a indicar se estão sincronizadas com a última versão, é fácil detectar pastas mal-comportadas, e assim chegar rapidamente ao culpado. (excelente incentivo à disciplina portanto)

Repositórios Online

Mas o que me levou a escrever este artigo não foi o meu interesse em Gestão de Versões, por mais interessante que seja… mas sim repositórios online gratuitos. Esta é a forma, para mim, mais fácil e simples de manter estes pequenos projectos pessoais reunidos, organizados, e acessíveis em qualquer PC e local.

A ideia é escolher um dos vários serviços gratuitos disponíveis, criar uma conta, e carregar as nossa aplicações. A partir daqui, usamos a nossa ferramenta SVN/Git/??? favorita nos nossos PCs, para manter o repositório actualizado com um simples clique do rato. Alguns sites até oferecem ferramentas de gestão de bugs, objectivos a desenvolver, wiki, etc. Atenção: refiro-me a repositórios privados. Os gigantes públicos não contam…

Os sites que prefiro são os seguintes:

  • Assembla – para quem quer espaço acima de tudo. A conta gratuita oferece 2GB! Mas é limitada ao repositório, sem mais funcionalidade (wiki, tickets, gestão de projecto). Tem muito bom aspecto, profissional.
  • Unfuddle – para quem precisa de menos espaço e valoriza outras funções. Oferece 300MB de espaço, com todas as funções – Milestones, Tickects, Mensagens, Equipa… Excelente, embora com um design menos conseguido. Limita o n.º de projectos a 1, mas com repositórios ilimitados. E só 2 pessoas na equipa.
  • ProjectLocker – idem, mas com 500MB de espaço, limitando o n.º de projectos a 3.

Há várias outras opções, mas são variações do mesmo. A escolha dependerá claro das preferências de cada um e da qualidade do serviço. Faça o favor de partilhar a sua escolha nos comentários para conhecermos as melhores alternativas.

Update 1: o Luís Carlos Maderia sugeriu o BitBucket, que oferece disco ilimitado, ferramentas de gestão, gratuito até 5 users. Embora baseado no Mercurial, tem suporte para SVN (ainda em beta).

Update 2: neste site encontramos uma tabela comparativa de fornecedores de hosting de código, gratuitos e pagos, para SVN.

2 thoughts on “Gerir Projectos de Código

  1. Viva Duarte,

    Penso que o https://bitbucket.org/ é de ter em consideração. Permite espaço ilimitado, projectos ilimitados (quando, por exemplo, uma equipa é composta até ao máximo de 5 utilizadores). Permite também funcionalidades de Wiki, API Support, Tickets, um feed RSS com o histórico das alterações, entre outras.

  2. Olá Luís!

    Bem caçado! Eu uso SVN e neste momento já tenho pena de não usar o hg ou bzr… um dia tenho de me converter.
    Não sabia que o bitbucket era tão generoso – espaço ilimitado é obra. E estão a desenvolver a compatibilidade com clientes SVN…

    Duarte

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *