O Rasea migrou para o GitHub

30maio11

O código-fonte do projeto Rasea estava hospedado no SourceForge até a semana passada. Calma, não se desespere! O Rasea não abandonou o SourcefForge, ele continua lá, o que migrou foi apenas o código-fonte. Pretendo compartilhar neste post as experiências e decisões que tomei neste processo de migração.

Que o GitHub está no foco dos holofotes, é indiscutível. Mas não decidi mudar por mero modismo. Faz um tempo, meu amigo Paulo Suzart cantou a pedra: “migre”. Mas mudar por quê? Qual a motivação? O que o projeto vai ganhar com isso? Quais os benefícios reais? Migrar só porque é “bonitinho”? Na época as respostas não justificaram o trabalho. Hoje faz todo sentido.

Não sei se vocês lembram, mas eu já postei sobre migração Do Subversion para o GitHub. Só que desta vez não fiz exatamente deste jeito. O repositório SVN do Rasea possui um histórico que não é pequeno. Decidi começar a nova vida sem resgatar o passado, nada de flashback. Mantive as baselines antigas no repositório antigo. Nada mais justo!

Registrei  a conta do Rasea gratuitamente no GitHub. A primeira dúvida surgiu: devo criar apenas um ou vários repositórios? Pesquisei e descobri que, diferentemente do Subversion, as tags e branches do Git são feitas para o repositório completo. Como o Rasea possui projetos com cliclos-de-vida e baselines independentes, criei um repositório para cada projeto.

Repositórios do Rasea

Para você entender a diferença, no Subversion existia um único repositório onde o primeiro nível de pastas representavam os projetos, seguidos pelas famosas pastas trunk, braches e tags.

Em seguida, parti para a importação. Criei localmente as pastas dos repositórios. Veja como fiz com o Rasea Server, que repeti para todos os outros projetos:


cd ~/workspace
mkdir rasea
cd rasea
git clone git@github.com:rasea/server.git
cd server

Baixei os projetos do Subversion e apaguei as pastas “.svn”. Olha como fiz com o projeto Server:

cd ~/workspace/rasea
svn checkout https://rasea.svn.sourceforge.net/svnroot/rasea/server/trunk/ server-svn
find server-svn -name '.svn' -type 'd' -exec rm -rf {} \;

Copiei os arquivos para o novo repositório local, comitei e mandei para o repositório remoto no GitHub. Segue mais um exemplo com o projeto Server:

cd ~/workspace/rasea
cp -r server-svn/. server/.
cd server
git add src
git add pom.xml
git commit -m 'Importação inicial'
git push -u origin master

Em seguida acessei a opção Account Settings no GitHub e converti a conta “rasea” em uma organização. Fiz isto para ativar o controle de acesso mais detalhado aos repositórios.

Convertendo para organização

A pergunta que não quer calar é: por que cargas d’água migrei o Rasea para o GitHub? A resposta tem a ver com colaboração! O GitHub traz uma série de facilidades para você colaborar. Além da interface amigável existe facilidades para criar fork do projeto. “O quê? Você quer que façam fork? Você está maluco?”.

Se você não sabe, fork é uma cópia do repositório. Para quem não está acostumado a colaborar com projetos open-source, fork é a personificação da morte! O GitHub oferece facilidades para criar e para reintegrar fork. É preciso que profissionais e empresas amadureçam no trabalho colaborativo. Aprenda a colaborar! Se precisar de auxílio, entre em contato.

Espero que este post ajude na migração do seu projeto. À propósito, você está preparado para colaborar ou ainda está na era jurássica? 😉

Anúncios


One Response to “O Rasea migrou para o GitHub”

  1. 1 Abraao

    É, eu gostei do github, estou usando ele em um projeto, achei mais clean que o sourceforge, e a ferramenta de gerenciamento de atividades é excelente.


E aí, o que você achou? Comenta aí...

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s