quarta-feira, 28 de abril de 2010

Obtendo os arquivos editados em um período usando o Subversion

Onde trabalho usamos o Subversion. Não sou muito fã dele, talvez mais por não saber usá-lo muito bem.
Frequentemente me pego trabalhando em um conjunto de arquivos na minha máquina local testando e desenvolvendo alguma coisa e depois eu preciso enviar estas alterações para o servidor on-line (eu sei que é bem amador esta forma de trabalhar, mas onde trabalho não somos incentivados a mudar isso). Ao invés de mandar todos os arquivos ou ficar tentando lembrar o que foi mudado eu uso o seguinte comando para me dizer quais arquivos foram alterados no projeto dentro de um determinado período:

svn diff -r {'2010-04-28 22:00:00'}:{'2010-04-28 22:05:47'} | grep "Index:" > ~/diff

Um arquivo chamado "diff"  vai ser gerado no diretório home (se você estiver usando linux) com uma listagem de todos os arquivos alterados (que passaram pelo commit) no repositório entre 28/04/2010 ás 22:00:00 até 28/04/2010 as 22:05:47. O arquivo vai ficar assim:
Index: arquivo1
Index: arquivo2.php
...

Você também pode usar números de versão se quiser, por exemplo:
svn diff -r 13:17 | grep "Index:" > ~/diff

Neste caso todos os arquivos alterados entre a versão 13 e a versão 17 serão listados. Não se esqueça de remover as chaves ({}) do comando.

É isso aí, só uma pequena dica, espero que possa ajudar alguém.

quarta-feira, 21 de abril de 2010

Um poema de Piet Hein...

Só para compartilhar um pequeno poema que vi hoje enquanto lia o livro Dreaming in Code  de Scott Rosenberg:
The Road To Wisdom
The road to wisdom? Well, it's plain
And simple to express:
Err
and err
and err again,
but less
and less
and less.
Piet Hein

Uma tradução minha não-oficial e propensa a erros:
A Estrada para a Sabedoria
A estrada para a sabedoria? Bem, é fácil
E simples de expressar:
Errar
e errar
e errar de novo,
mas menos
e menos
e menos.


É isso aí. Recomendo muito o livro "Dreaming in Code".