No desenvolvimento de um programa é frequente a necessidade de mesclar versões, saber qual delas é a mais recente e até de recuperar versões antigas, nenhum dos softwares já citados fazem isso. Para esse tipo de recurso existem softwares de controle de versão como o Subversion e o Mercurial.
Softwares de controle de versão são os mais comuns para auxiliar o desenvolvimento de desde softwares simples e trabalhos de faculdade a softwares grandes e complexos. O grande problema é que é necessário ter um servidor conectado à Internet para utilizá-los.
Graças ao projeto "Google Code", agora é possível utilizar tanto o Subversion quanto o Mercurial gratuitamente, desde que o projeto hospedado seja de código aberto. Uma ótima opção para hospedar os trabalhos de faculdade, não?
Para utilizar o Google Code é simples, siga os seguintes passos:
-
Se você ainda não tem, crie uma conta no Google.
-
Acesse http://code.google.com/hosting/createProject e preencha o formulário para criar o projeto. Utilizaremos neste exemplo o sistema de versionamento Subversion.
-
Pronto, o projeto já está criado! Para adicionar membros a ele clique no link "people" da aba "Project home". Para que o membro possa fazer alterações no código ele deve ser Commiter ou Owner.
-
Após adicionar toda a equipe de desenvolvimento você pode iniciar o projeto. Primeiramente tome nota das informações localizadas na aba "source". O primeiro retângulo azul diz respeito às informações de login com permissão tanto de leitura quanto escrita e aparece apenas para usuários logados que fazem parte do projeto. O segundo retângulo azul é visível à qualquer um que entre na página do projeto e diz respeito às informações de login anônimo, com permissão apenas de leitura.
-
A partir de agora você deve começar a trabalhar com o seu cliente de Subversion preferido. Neste exemplo utilizaremos o NetBeans.
-
Abra o NetBeans e acesse o item "equipe" > "subversion" > "checkout" e preencha os dados com as informações obtidas no passo 4 (a do primeiro retângulo, já que iremos editar o projeto).
-
Após a finalização do checkout, o NetBeans irá perguntar se você deseja criar um novo projeto, clique em "não".
-
Caso você já tenha um projeto do NetBeans e queira colocá-lo no Subversion, entre na pasta do seu projeto, copie todos os arquivos necessários (não é preciso copiar as pastas "build" nem "dist") e cole tudo em "/trunk", a pasta que acabou de sofrer checkout. Se a opção padrão não foi alterada na hora do checkout, "trunk" está em "/NetBeans Projects/trunk".
-
Caso esteja iniciando agora seu projeto, crie um novo projeto no NetBeans e depois faça o mesmo processo do passo anterior, copie tudo para "/trunk".
-
No NetBeans, abra o projeto da pasta "/trunk".
-
Submeta o projeto para o servidor: clique com o botão direito do mouse sobre o projeto e selecione "subversion" > "submit". Na janela que aparecer escreva uma mensagem correspondente ao que foi realizado nessa revisão e selecione todos os arquivos do projeto (aqueles que começam com /trunk).
-
Pronto! Qualquer um dos membros do projeto podem acessar agora o Subversion e fazer suas próprias alterações, basta fazer checkout do projeto e clicar em "abrir projeto" quando o checkout terminar. Depois de fazer as mudanças basta submeter as alterações.
Ao invés de copiar o projeto e colar na pasta trunk, você poderia também criar um novo projeto pelo NetBeans e submetê-lo. Isso criaria uma nova pasta no repositório. "Trunk" significa o tronco do seu projeto, ou seja, essa pasta deve sempre conter a versão mais recente e funcional do seu sistema. Qualquer alteração deve gerar um outro ramo (branch) nesta árvore de versões, e se a alteração for bem sucedida, deve ser integrada à versão trunk. Para saber mais sobre versionamento leia este artigo do Gustavo Araújo. Você pode sempre optar por não utilizar os conceitos de trunk, branches e tags, mas eles foram criados justamente para organizar melhor o desenvolvimente de grandes projetos.
Além do controle de versão, o Google Code oferece também um wiki e um gerenciador de tarefas para o projeto, os quais podem ser acessados, respectivamente, pelas abas "Wiki" e "Issues".
Com essas ferramentas já da pra começar a organizar melhor os trabalhos não? Google Docs, Office Web Apps, DropBox e Google Code, uma suíte completa de aplicativos para facilitar a vida na hora de escrever documentos, compartilhar arquivos e gerenciar um projeto de software! 'Ta esperando o que pra abrir uma conta em cada um desses serviços?