Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Gustavo Dutr...
Tela cheia

Como dar Commits SVN com Vim

5 de Abril de 2009, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 530 vezes

Em alguns projetos, ao se dar um commit, é necessário especificar quais arquivos foram adicionados ou modificados e ainda mencionar o porque. Algo do tipo:

functions.pl – Adicionada a função que faz aquilo e corrigida a função tal que tinha um erro de português.

É realmente um porre ver todos os arquivos que foram modificados e dizer as mudanças, mas é necessário. Aqui vai uma dica pra quem quer melhorar isso e, por que não, automatizar. Vou utilizar o exemplo com o svn, mas adaptem para o que vocês usam.

$ cd /raiz/do/repositorio
$ svn status | vim -
$ svn commit -F /tmp/commit

Aquela segunda linha, joga a saída do comando `svn status` em um buffer no Vim. Assim, podemos editar melhor. Caso o servidor seja externo e demore muito uma resposta, apenas aguarde. A saída do shell irá para buffer, apenas aguarde.

Com tudo pronto, podemos fazer algumas substituições:

:%s/^A\s\+/[ADICIONADO] /g
:%s/^D\s\+/[REMOVIDO] /g
:%s/^M\s\+/[MODIFICADO] /g

Cada letra da primeira coluna, indica o status do arquivo no projeto. Uma lista completa com as opções pode ser encontrada em http://svnbook.red-bean.com/en/1.4/svn.ref.svn.c.status.html

Agora você organiza seu log. Escreve porque foi adicionado o arquivo X, removido o arquivo Y e etc. Depois de pronto, basta salvá-lo e utilizá-lo como log do commit.

:sav /tmp/commit
$ svn commit -F /tmp/commit
$ rm /tmp/commit

Uma outra maneira de se fazer isso é usando o Vim como editor default do SVN.

vim ~/.bashrc

Acrescente as seguintes linhas:

export SVN_EDITOR=/usr/bin/vim

Agora, ao usar `svn commit`, o vim irá ser aberto para você especificar o motivo.

Acho que é isso! Comentem =)


Fonte: http://gustavodutra.com/post/149/como-dar-commits-svn-com-vim/

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.