Arquivo por categoria SVN

Revertendo commits no SVN

Olá pessoal aqui vai um post rápido e sobre algo simples mas que muitas vezes nos causa dores de cabeça. Não muito raramente fazemos commits de códigos problemáticos e isso acaba nos tomando um certo tempo até voltar as coisas ao estágio anterior, mas é incrivelmente simples desfazer, ou reverter as mudanças de um commit com problemas. As ferramentas como o Subversion ou mesmo o plugin do Eclipse muitas vezes complicam um pouco mais as coisas e o bom mesmo é usar a velha linha de comandos para fazer o trabalho. Para isso precisamos apenas olhar os logs de commit e verificar a última versão commitada e a versão que deseja reverter. Com os números das revisões e a URL do repositório, basta montar o comando no DOS, Shell ou o que for de acordo com a estrutura abaixo:

svn merge -r [número_da_ultima_revisão]:[número_da_revisão_a_ser_revertida] [url_do repositório]

Após executar esse comando as alterações são revertidas na sua máquina e para aplicá-las ao repositório basta fazer um novo commit como se tivesse comitando algo novo e tudo se resolve. Lembrando que esse comando se aplica para o SVN.

Tags: ,

Entendendo o Apache Maven

Apache Maven
Olá. Percebi que muitas pessoas chegaram ao post sobre o Apache Archiva procurando por Apache Maven. Sendo assim decidi fazer um post sobre o Maven para ajudar aqueles que desconhecem esse poderoso framework.
Bom o Maven é mais conhecido por gerenciar dependências. Com o Maven não é mais necessário acessar vários sites baixar uma série de bibliotecas adicioná-las ao projeto e quando tudo não vai bem procurar bibliotecas que você se esqueceu. Além disso, se for trabalhar em equipe, você enfrentará outros problemas como ter que colocar sempre uma serie de jars junto ao projeto quanto for passar o código para outros desenvolvedores. Não raramente acaba ficando um ou ouro jar para traz e vira um inferno procurar os jars faltantes.
Por outro lado se você utiliza Subversion ou GIT (o que eu espero que você esteja fazendo) você reduzirá bastante o problema com bibliotecas. Entretanto tem-se um outro problema depois de muitos commits de jars junto com o projeto seu repositório vai ficando mais e mais inchado. Enfim você ocupará espaço desnecessário no repositório.
O Maven resolve quase que completamente esse problema, na medida em que com ele você passará a commitar apenas código. Bom o Maven procura as dependências declaradas em um arquivo XML chamado POM (Project Object Model), baixa todas elas e armazena-as em um repositório local localizado no diretório .m2 dentro do diretório do usuário, dessa forma todo projeto que utilize uma dependência em comum irá compartilha-la a partir do diretório .m2. Desse modo inclusive o tráfego na rede é reduzido na medida em que não é necessário ficar baixando sempre a mesma dependência. Ainda assim é interessante utilizar uma ferramenta como o Nexus para fazer cache dessas dependência na rede interna da empresa minimizando o tráfego.
Além de gerenciar dependências o Maven possibilita dentre outras coisas montar uma arquitetura básica para vários tipos de aplicação com apenas alguns comandos. Espero que este post seja um pontapé inicial para que você comece a utilizar o Apache Maven. Num post posterior irei abordar a estrutura do POM e talvez o próprio Nexus.

Tags: , , , , , , ,