Como exibir confirmações de um usuário específico no svn? Não encontrei nenhuma opção para isso para o svn log.
svn
bash
version-control
mimrock
fonte
fonte
--search
opção com o Subversion 1.8 ou cliente mais recente.Respostas:
Você poderia usar isto:
Ele mostrará todas as confirmações feitas pelo usuário especificado (USERNAME).
ATUALIZAR
Como sugerido por @bahrep, o subversion 1.8 vem com uma
--search
opção.fonte
p
).svn log
em uma cópia de trabalho. Você também pode especificar seu repositório, iesvn log https://your-svn-repo
.--search
opção.Com o Subversion 1.8 ou posterior:
Além das correspondências dos autores, isso também exibirá confirmações SVN que contêm esse nome de usuário na mensagem de confirmação, o que não deve acontecer se seu nome de usuário não for uma palavra comum.
O
-l 50
vai limitar a pesquisa às últimas 50 entradas.http://svnbook.red-bean.com/en/1.8/svn.ref.svn.html#svn.ref.svn.sw.search
fonte
svn log --search foo --search bar -l 30
,.If multiple --search options are provided, a log message is shown if it matches any of the provided search patterns.
O svn não vem com opções embutidas para isso. Ele tem uma
svn log --xml
opção, para permitir que você analise a saída por conta própria e obtenha as partes interessantes.Você pode escrever um script para analisá-lo, por exemplo, no Python 2.6:
Se você salvar o acima como svnLogStripByAuthor.py, poderá chamá-lo como:
fonte
Como todos parecem estar inclinados para o Linux (et al): Aqui está o equivalente do Windows:
fonte
funciona na maior parte.
Ou, para ser mais preciso:
fonte
-A
para exibir o contexto, mas esse número é estático, enquanto a mensagem de confirmação é de tamanho variável. Você pode fazer uma solução com sed ou similar, mas isso é esforço. : P| awk '{ print "-" $1 }' | xargs svn log
Enquanto a solução do yvoyer funciona bem, aqui está uma que utiliza a saída XML do SVN, analisando-a
xmlstarlet
.A partir daqui, você pode entrar em consultas XML mais avançadas.
fonte
Aqui está a minha solução usando xslt. Infelizmente, o xsltproc não é um processador de streaming, portanto, você precisa dar um limite ao log. Exemplo de uso:
svnLogFilter.xslt
svnLogText.xslt
fonte
A partir do Subversion 1.8, você pode usar
--search
e--search-and
opções de linha desvn log
comando com o comando .Portanto, deve ser tão simples quanto correr
svn log --search JohnDoe
.fonte
Você pode usar o Perl para filtrar o log por nome de usuário e manter as mensagens de confirmação. Basta definir a variável $ / que decide o que constitui uma "linha" no Perl. Se você definir isso como separador das entradas do log SVN, o Perl lerá um registro por vez e, em seguida, você poderá corresponder ao nome de usuário em todo o registro. Ver abaixo:
fonte
Para obter diferenças, juntamente com o check-in.
Coloque os números de revisão em um arquivo:
Agora leia o arquivo e execute o diff para cada revisão:
fonte
Eu tinha escrito um script por Python:
E use:
fonte