Como descobrir todos que commitaram em um repositório SVN
Author: Jonas Abreu
15
Jun
Recentemente escrevi um post sobre como migrar seu repositório svn para o git. Em um dos passos falo pra você criar uma lista de mapeamento dos seus usuários do svn para os do git. O único problema disso é descobrir quem são eles. Aqui vai um one-liner de bash que resolve isso :)
svn log | grep "^r[0-9]" | \\
sed -E "s/^.*\|(.*)\|.*\|.*$/\1/" | \\
sort | uniq > seu_arquivo_com_os_usuarios
Explicação da bizarrice acima:
-
svn log: Exibe todo o log de commits feitos naquele repositório.
-
grep “^r[0-9]“: Pega todas as linhas iniciadas com r seguido por um número (header de cada commit do svn)
-
sed -E “s/^.*\|(.*)\|.*\|.*$/\1/”: Roda o monstro chamado sed em modo estendido e captura o nome dos usuários (conte o número de pipes)
-
sort: Ordena a lista com os usuários que comitaram.
-
uniq: elimina todas as duplicatas deixando apenas uma cópia de cada usuário (só funciona em listas ordenadas. Por isso o sort anterior).
Tentei fazer usando o comando cut no lugar do sed, mas o cut desistia no meio do caminho por causa de caracteres estranhos.
Posts Relacionados:
Como migrar de SVN para GIT
Como remover os malditos .svn
Truques do Bash
Como descobrir o real encoding de um arquivo em java
Git Workflow
Configuração de caminhos no LaTeX
Google em Inglês
Acompanhe-nos por
RSS, por Email ou via Twitter.
Veja como ter um desconto no Dreamhost: um excelente servidor web.
One Response for "Como descobrir todos que commitaram em um repositório SVN"
[...] um arquivo mapeando os usuários do svn para os do git. Algo [...]
Leave a reply