Obter número de revisão de um repositório remoto
Pergunta
na máquina local não é nenhum problema para obter o número de revisão de um repositório Subversion com svnversion
. Agora eu quero obter o número de revisão do meu repositório on-line (WebDAV com Apache2).
Eu tentei isso:
svnversion http://nick:password@www.myhost.de/svn/test`
Em um navegador funcionou como de costume (apenas para garantir que não havia erros de digitação ou assim), mas svnversion
disse que o diretório não pode ser encontrado. Então, eu presumo eu estava no caminho errado.
Como posso obter o número de revisão?
Solução
svnversion é apenas para cópias de trabalho, mas uma maneira de consulta seu repositório seria usar svn info como segue:
svn info http://nick:password@www.myhost.de/svn | grep Revision
Outras dicas
No Linux, se você quiser apenas o número de revisão:
http: // nick: password@www.myhost.de/svn/ testar | grep '^ Revisão:' | awk '{print $ 2}'
svn info http://nick:password@www.myhost.de/svn/test
deve retornar informações sobre o repositório remoto, incluindo a revisão
A AWK one-liner útil para obter apenas a parte número:
svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'
Na nova versão do SVN (1.9) você pode fazer:
svn info --show-item revision svn://...
18436
Isso deve retornar apenas o número de revisão.
Toda a versão grep vai quebrar se sua localidade não é Inglês.
Para a versão anterior, você pode tentar
svn info --xml | grep '<entry' -3 | awk -F '=' '/revision="/ { print $2 }' | grep -o '[0-9]\+'
Se você pode ter o pacote xml2 a melhor maneira é fazer:
svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+'