Como usar Subversion com o Eclipse

Integrar é fácil

Desde o início, o Eclipse incluiu uma íntima integração com o Concurrent Versions System (CVS) para fornecer acesso a recursos de gerenciamento de alteração. Agora, muitos projetos -- em especial, os geridos pela Apache Software Foundation -- estão usando um sistema de gerenciamento de alteração diferente: Subversion. Descubra como usar o Eclipse para projetos que usam um repositório Subversion.

Chris Herborth, Freelance, Freelance Writer

Photo of Chris HerborthChris 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.



06/Fev/2012

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.

Antes de Iniciar

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
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
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
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
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
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
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.

Um teste rápido

É 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
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
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
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
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
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
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
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
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.

Atualizando um 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
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
Renomear um arquivo é atômico, mesmo que seja uma inclusão e uma exclusão

Ignorando arquivos

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
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.

Confirmando 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
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.


Summary

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.

Recursos

Aprender

Obter produtos e tecnologias

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=382630
ArticleTitle=Como usar Subversion com o Eclipse
publish-date=02062012