Eu gostaria de reescrever um grande número de mensagens de confirmação SVN para uma estrutura diferente, por exemplo, prefixar uma categoria. De:
"foo" now accepts "bar" format for connection string.
eu quero
core - database - "foo" now accepts "bar" format for connection string.
Existe uma maneira fácil de fazer isso que não inclui despejar todo o repositório usando svndumpfilter
?
Estou trabalhando com TortoiseSVN no lado do cliente e VisualSVN no lado do servidor. (VisualSVN é um invólucro em torno do clássico svn
, com o qual posso falar por meio da linha de comando também.)
fonte
hooks
pasta no local do repositório e renomearpre-revprop-change.tmpl
parapre-revprop-change.bat
para que funcione.Você certamente pode alterar as mensagens de log retroativamente, isso é abordado no FAQ . Não tenho certeza de como funciona a interface de linha de comando para VisualSVN, mas para vanilla svn o comando seria
Se você quiser fazer isso para todas as revisões sem despejar o repositório e recarregar, você pode criar um script para este comando para trabalhar em uma lista de todas as revisões. Levaria algum tempo para fazer isso, dependendo do tamanho do seu repositório, mas, em princípio, não há razão para que você não possa fazer isso e não envolve um despejo e recarregamento.
Além disso, vanilla SVN tem um comando
svnlook
que é uma espécie de ferramenta administrativa que trabalha diretamente com os arquivos do repositório. Essa ferramenta não entende URLs (você deve ter acesso em nível de sistema de arquivos para o repositório), mas é muito mais rápida. A sintaxe é um pouco diferente, mas você pode modificar as propriedades da mesma maneira usando essa ferramenta.fonte
svn propedit -r N --revprop svn:log
para conseguir mudar a mensagem no meu editor.set SVN_EDITOR=notepad.exe
Sim, você pode, mas você precisa habilitá-lo no repositório primeiro.
No repositório, no diretório de ganchos, está um arquivo chamado pre-revprop-change.tmpl. Ele tem algumas páginas de comentários sobre o que faz e vem configurado para permitir apenas alterações nas propriedades do log. Para habilitá-lo, renomeie o arquivo para pre-revprop-change e torne-o executável (estou assumindo uma subversão hospedada em POSIX, se você estiver usando o Windows para hospedar, pode achar esta mensagem útil).
Uma vez que o repositório permitir, você pode usar o Tortoise para mudar a mensagem de log de um commit no menu do botão direito em um commit, ou você pode usar a linha de comando.
fonte
Use
svn propset
nasvn:log
propriedade. Exemplos no livro svn .fonte
svn propedit -r N --revprop svn:log URL
URL
acima é opcional se você já estiver em um diretório de trabalho. Um editor aparecerá para que a mensagem possa ser alterada.fonte
Acabei de encontrar este post com o problema exato, usando o Tortoise SVN para cliente e VisualSVN em um servidor Windows.
Se acontecer de você ter uma mensagem de erro "uma solicitação DAV falhou" , dê uma olhada na resposta de Andrew Aylett e vá editar "pre-revprop-change.tmpl" no subdiretório de ganchos do seu repositório.
Uma vez feito isso, clicar em "editar mensagem de log" no menu contextual deve finalmente funcionar!
fonte