Uma instalação do Eclipse de estoque tem suporte integrado para CVS, um sistema popular de gerenciamento de alteração de software livre. Os recursos do CVS e suas limitações são bem conhecidos, mas muitos grupos têm investigado outros sistemas de controle de versão para fornecer melhor escalabilidade, melhor suporte para mesclar alterações e versões de ramificação, e melhor suporte para formatos de arquivo binários.
A Subversion (SVN) é uma substituição popular ao CVS e oferece desempenho aprimorado (cortesia do cache local inteligente e de um backend de banco de dados), ramificação fácil e rápida, e uma resposta a cada uma das deficiências com que as pessoas frequentemente se deparam ao usarem o CVS.
Continue a ler para ver como incluir o suporte à Subversion no Eclipse e como executar as atividades básicas de controle de versão do IDE.
Será necessário transferir por download e instalar o Eclipse (consulte Recursos) para acompanhar os procedimentos. Fazer download do pacote SDK do Eclipse para a sua plataforma proporcionará o IDE básico do Eclipse (conhecido como Plataforma Eclipse), além do Java™ Development Kit. Se você pretende trabalhar com C/C++ (como é minha intenção), visite o website do C Development Tooling (CDT) e instale o CDT usando o gerenciador de atualização (como usar o gerenciador de atualização está descrito na próxima seção).
Também é necessário acessar a um repositório Subversion. Se for necessário configurar um, é possível encontrar documentação excelente no website da Subversion (consulte Recursos). Para fim de demonstração, mostraremos como fazer o registro de saída do projeto Subclipse e trabalhar com projetos em um repositório em minha rede local.
Incluindo Subclipse no Eclipse
Subclipse é um projeto para incluir suporte a Subversion no Eclipse IDE. Usaremos o gerenciador de atualização do Eclipse para incluir o Subclipse no seu Eclipse IDE. No menu Help do Eclipse, escolha Software Updates > Find and Install para abrir o gerenciador de atualização.
Figura 1. O gerenciador de atualização do Eclipse
Além de usá-lo para procurar atualizações de software, podemos usar o gerenciador de atualização para localizar e instalar novos recursos, como o Subclipse. Assegure que Search for new features to install esteja selecionado e clique em Next para continuar. O Eclipse exibe o próximo painel do gerenciador de atualização.
Figura 2. Sites do gerenciador de atualização
Como estamos atrás de um recurso específico, desmarque os sites existentes e clique em New Remote Site para exibir o diálogo New Update Site (veja a Figura 3). Usaremos isso para incluir o site de atualização do Subclipse na lista.
Figura 3. Incluindo um novo site de atualização
Insira alguma coisa para Name (Subclipse é uma boa opção) e insira o que segue para a URL: http://subclipse.tigris.org/update_1.0.x (o site de atualização atual do Subclipse). Clique em OK para incluir o site de atualização do Subclipse na lista no gerenciador de atualização.
Clique em Finish na janela do gerenciador de atualização para iniciar a procura por novos recursos. Neste caso, o novo recurso que estamos procurando é o Subclipse. Depois de alguns momentos, a procura do gerenciador de atualização está completa e ela exibe os resultados da procura.
Figura 4. Novos recursos que podemos instalar
Marque o Subclipse (é possível clicar no triângulo de exposição para ver exatamente o que está incluído no recurso), e clique em Next para visualizar os termos da licença do recurso. Aceite os termos e clique em Next para revisar os recursos escolhidos para instalação. Clique em Finish para fazer download e instalar o Subclipse.
O gerenciador de atualização transfere por download os componentes da Subversion. Antes de instalar alguma coisa, o Eclipse avisará que os recursos não estão assinados digitalmente (Figura 5). Essa é a última chance para cancelar a instalação. Clique em Install All para continuar a instalação.
Figura 5. O Subclipse não está assinado digitalmente
Uma vez instalada a Subversion, o Eclipse avisará que talvez seja necessário reiniciar o IDE para ativar os novos recursos (veja a Figura 6). Só para garantir, reinicie o Eclipse.
Figura 6. Reiniciar o Eclipse depois da instalação dos novos recursos
Quando o Eclipse retornar à atividade, o Subclipse estará instalado e pronto para executar.
Se estiver executando o Eclipse no Mac OS X ou Linux®, talvez seja necessário instalar a biblioteca JavaHL, que está descrita na seção Troubleshooting das perguntas mais frequentes do Subclipse (consulte Recursos). Faça isso antes de continuar a tentativa de usar o Subclipse.
É sempre apropriado testar um novo recurso imediatamente após a instalação; tentaremos efetuar o registro de saída de uma cópia do Subclipse no repositório Subversion para assegurar que ele esteja devidamente instalado.
No menu File do Eclipse, selecione Import para exibir o gerenciador de importação (veja a Figura 7). Escolha Checkout Projects na SVN, e clique em Next.
Figura 7. O gerenciador de importação
No painel Select/Create Location (veja a Figura 8), precisamos criar um novo local (já que não temos nenhum configurado ainda), assim clique em Next para continuar. Se o botão Next estiver desativado, alterne para a opção Use existing repository location, e volte a Create a new repository location para ativar o botão Next.
Figura 8. Criando uma nova localização de repositório
Na próxima seção (veja a Figura 9), inclua a URL do repositório
(http://subclipse.tigris.org/svn/subclipse/) no campo Url, e clique em Next . Depois de um certo tempo, o Eclipse solicita o ID do usuário e a senha. Se não tiver uma conta no site do Subclipse, digite guest para o ID do usuário e um espaço para a senha, marque a caixa Save Password e clique em OK.
Figura 9. Incluir a URL do repositório
O Eclipse exibe as pastas no repositório do Subclipse (veja a Figura 10). Expanda o tronco e escolha a pasta subclipse, e clique em Finish para efetuar o registro de saída da sua própria cópia do código de origem do projeto do Subclipse. Como você não tem ideia do que seja isso, escolha Simple > Project quando o assistente New Project solicitar.
Figura 10. Repositório do Subclipse
Operações básicas da Subversion
A esta altura, instalamos o Subclipse com êxito, o que incluiu suporte para servidores Subversion na configuração do Eclipse, e testamos o Subclipse fazendo download do código de origem atual do Subclipse a partir do repositório. Agora, vamos fazer algo com no nosso próprio código e nosso próprio repositório Subversion.
Antes de eu mostrar como as coisas funcionam com a Subversion, falarei um pouco sobre o meu repositório. Ele está hospedado em uma máquina denominada dogma, na porta 8000, e criei um novo repositório developerworks para o código associado aos meus artigos no developerWorks. Colocarei meus projetos diretamente na raiz do repositório. Outros repositórios frequentemente têm pastas denominadas trunk, tags e branches fora da raiz, para versões de desenvolvimento, tags e ramificações, mas não pretendo me preocupar com marcações ou ramificação no código dos artigos no developerWorks.
Inclui dois projetos, forkWork e threadWork, do meu primeiro artigo no developerWorks. Minha área de trabalho do Eclipse (veja a Figura 11) também contém três outros projetos dos artigos no developerWorks (getopt_demo, getopt_long_demo e readdir_demo).
Figura 11. Meus projetos C/C++ do Eclipse
Agora estamos prontos para trabalhar.
Incluindo um projeto no repositório
Para incluir um novo projeto no repositório Subversion, clique com o botão direito do mouse no projeto (em qualquer visualização de projeto do Eclipse ou na visualização Navigator) e escolha Team > Share Project no menu. O Eclipse exibe o diálogo Share Project.
Figura 12. O diálogo Share Project
Selecione SVN na lista de repositórios atualmente suportados pelo Eclipse e clique em Next. O próximo diálogo (veja a Figura 13) permite que você escolha um local de repositório existente ou crie um novo repositório.
Figura 13. Selecionando um local do repositório
Se o repositório já estiver listado (como é possível ver, eu incluí o meu), selecione-o e clique em Finish. Se o seu repositório não estiver listado, inclua-o (veja Um teste rápido para obter instruções) e continue. O Eclipse cria um novo diretório no repositório com o mesmo nome que o seu projeto, e exibe uma lista de todos os arquivos e pastas no projeto.
Figura 14. Incluindo o conteúdo de um projeto
Insira um comentário adequado que descreva esse projeto no campo superior, e clique em Select All para marcar todos os arquivos no projeto. Clique em OK para efetuar o registro de entrada do seu projeto e transmitir seu estado atual para o repositório Subversion.
Os comandos e saída da Subversion são exibidos na visualização Console, normalmente encontrada na parte inferior da janela do Eclipse, caso deseje ver exatamente o que o Subclipse fez com o seu projeto.
Um dos principais recursos de um sistema de controle de versão é a capacidade de outros desenvolvedores de continuar a desenvolver e confirmar suas alterações sempre que estiverem prontos. Para fazer download dessas alterações e integrá-las com suas cópias locais, é necessário atualizar o projeto.
Clique com o botão direito do mouse no projeto que você deseja atualizar, e escolha Team > Update no menu. O Eclipse recupera alterações do repositório e tenta mesclá-las com sua cópia local.
Incluindo um arquivo ou diretório
Se você incluir um arquivo no seu projeto (veja a Figura 15), ele não será automaticamente parte do controle da versão -- será necessário incluí-lo especificamente no repositório. Na captura de tela, é possível ver que incluí um arquivo ReadMe.txt no projeto threadWork.
Figura 15. Incluindo um novo arquivo
Clique com o botão direito do mouse no novo arquivo e escolha Team > Add to Version Control. Só isso! A próxima vez que confirmar suas alterações neste projeto para o repositório, o novo arquivo também terá o registro de entrada efetuado.
Excluindo um arquivo ou diretório
Se tiver incluído um arquivo no repositório que não seja mais relevante para o seu projeto, ele pode ser facilmente excluído. Clique com o botão direito do mouse e escolha Delete. Não há necessidade do menu Team, o Subclipse sinaliza o arquivo para exclusão automaticamente e o remove do seu projeto. A próxima vez que confirmar suas alterações no repositório, o arquivo será excluído.
Renomeando um arquivo ou diretório
Para renomear um arquivo ou diretório sob controle do Subclipse, clique com o botão direito do mouse nele e escolha Rename. Digite o novo nome do item o campo de entrada e clique em Enter. O arquivo é renomeado no projeto, e a operação de renomeação (um Add para o novo nome e um Delete para o antigo) é enfileirada para a próxima confirmação. Na Figura 16, é possível ver o projeto threadWork depois que eu o renomeei de main.c para threadWork.c, mas antes de eu ter confirmado minha alteração. Observe o pequeno sinal de mais azul que o Subclipse incluiu no "novo" arquivo para indicar que ele está planejado para inclusão na próxima confirmação.
Figura 16. Renomear um arquivo é atômico, mesmo que seja uma inclusão e uma exclusão
Se o seu projeto gerar arquivos ou, de outra forma, incluir arquivos para os quais não deseje efetuar registro de entrada no repositório Subversion, será possível dizer ao Subclipse para ignorá-los. Clique com o botão direito do mouse no arquivo ou diretório que você deseja excluir do controle da versão e escolha Team > Add to svn:ignore para exibir o diálogo Add to svn:ignore.
Figura 17. Ignorando recursos que não pertencem ao controle da versão
Clique em OK para incluir esse arquivo específico na propriedade svn:ignore do diretório do projeto. Escolha Wildcard extension para ignorar todos os arquivos na extensão do arquivo atual, ou escolha Custom pattern para incluir seu próprio caractere geral para ignorar a lista. Essas alterações na lista do que será ignorado serão incluídas no repositório a próxima vez que você confirmar suas alterações.
Depois que estiver satisfeito com suas alterações no projeto, estiver certo de que seu código compila e tiver testado suas alterações, você deverá confirmá-las para o repositório Subversion. Isso age como um backup no caso da sua estação de trabalho se autodestruir, e permite que outros desenvolvedores atualizem suas cópias locais para incluir suas alterações.
Assegure-se de atualizar seu projeto (veja "Atualizando um projeto") antes de tentar confirmar suas alterações. Clique com o botão direito do mouse no projeto e escolha Team > Commit no menu. O Eclipse exibe o diálogo Commit (veja a Figura 18), que resume suas alterações.
Figura 18. Confirmando suas alterações no repositório
Se você olhar com cuidado, verá uma alteração de propriedade no diretório do projeto (eu a incluí na propriedade svn:ignore para manter determinados arquivos fora do repositório) e main.c foi excluído enquanto threadWork.c era incluído. Esse par de alterações representa realmente uma operação (uma renomeação de arquivo).
A esta altura, é possível desselecionar recursos se desejar mantê-los fora do repositório. Isso pode ser útil caso tenha terminado parcialmente seu trabalho em um arquivo e não deseje efetuar o registro de entrada de uma alteração incompleta. Insira um comentário adequado no campo de texto no alto, e clique em OK para efetuar o registro de entrada das alterações no seu repositório.
O projeto do Subclipse integra o suporte para o sistema de controle de versão Subversion com os excelentes recursos de gerenciamento de projeto da equipe, o que suporta somente servidores CVS prontos para uso. Usando o gerenciador de atualização do Eclipse, é fácil incluir o Subclipse na instalação do Eclipse, o que permitirá usar esse sistema de controle de versão superior (pelo menos, na minha opinião) diretamente do Eclipse.
Ao passo que incluir projetos em um repositório -- e gerenciar recursos do projeto, uma vez que esteja lá -- pode ser desencorajador para pessoas que não estejam familiarizadas com a Subversion, os procedimentos das operações comuns são simples. Este artigo o conduziu pelas operações diárias para ajudá-lo a se familiarizar com o Subclipse.
Aprender
-
Inicie com "What is Eclipse, and how do I use it?"
-
Leia "Desenvolvimento de C/C++ com a Plataforma Eclipse" para aprender a como usar o C/C++ Development Toolkit (CDT), que é o melhor kit de ferramentas C/C++ disponível para Eclipse.
-
Visite a página Subversion para obter downloads e documentação.
-
Confira os
Wiki do Subclipse.
-
Visite a
página do projeto CDT em Eclipse.org.
-
Conheça a
Eclipse Foundation e seus diversos projetos.
-
Para obter uma introdução excelente sobre a plataforma Eclipse, consulte "Getting started with the Eclipse Platform."
-
Amplie suas qualificações em Eclipse visitando, no IBM developerWorks, recursos do projeto Eclipse.
-
Navegue em todo conteúdo do Eclipse no developerWorks.
-
Visite a zona de software livre para obter extensas informações de instruções, ferramentas e atualizações de projeto para ajudar você a desenvolver com tecnologias de software livre e usá-las com produtos IBM.
-
Fique por dentro doseventos técnicos e webcasts do developerWorks
.
Obter produtos e tecnologias
- Como alguém
interessado no controle da versão do código de origem, talvez seja
necessário efetuar o registro de saída do Rational®
ClearQuest®.
-
Veja os últimos downloads da tecnologia Eclipse no alphaWorks da IBM.
-
Inove seu próximo projeto de desenvolvimento de software livre com
software de avaliação da IBM, disponível para download ou em DVD.
Discutir
-
O home dos grupos de notícias do Eclipse tem muitos recursos para pessoas interessadas em usar e ampliar o Eclipse.
-
Participe da comunidade do developerWorks acessando os blogs do developerWorks
.

Chris Herborth é um premiado escritor técnico senior com mais de 10 anos de experiência em escrever sobre sistemas operacionais e programação. Quando não está brincando com seu filho, Alex, ou se divertindo com sua esposa, Lynette, ele gasta seu tempo projetando, escrevendo e pesquisando (ou seja, jogando) videogames.