Altera todos os autores de commits no subversion

1

Eu executarei uma migração do subversion a partir da autenticação integrada contra o servidor LDAP central usando sasl. Como parte dessa alteração, os nomes de usuários serão modificados de username para [email protected] .

Para manter as coisas simples, eu gostaria de atualizar os autores em todas as revisões para se adequar ao mesmo esquema de nomenclatura. Eu entendo que o autor pode ser alterado, permitindo alterações revprop e alterando a propriedade svn:author usando svn propset :

svn propset --revprop -r revision_number svn:author your_username

No entanto, gostaria de fazer isso usando um script, para todas as revisões.

Existe tal script já disponível que transforma a propriedade svn:author de acordo com um padrão predefinido para todas as revisões em um repositório?

    
por Robert Munteanu 08.12.2011 / 09:46

1 resposta

3

Nesses casos, eu descarregaria o repositório, modificaria e recarregaria o dump ou usaria o script para executar as alterações necessárias em um loop, ou seja, se estiver usando o Bash -

for i in {1..999}
do
  svn propset --revprop -r $i svn:author your_username
done

Substitua 1..999 pelo intervalo de revisões reais a ser aplicado a.

Supondo que você execute o script de onde a cópia de trabalho está, você também pode obter o último número de revisão no script, por exemplo:

REV='svn info | grep Revision: | cut -c11-'
for ((i=0; i<=${REV}; i++))
do
  svn propset --revprop -r $i svn:author your_username
done

"svn info" também pode ser usado para recuperar o autor da alteração:

svn info -r revnum | grep 'Last Changed Author:' | cut -c22-
    
por 08.12.2011 / 10:48

Tags