Obtenha a tag mais recente em seu repositório Subversion

Para aqueles que ainda usam o Subversion!

Precisava hoje encontrar a marca mais recente em um de nossos repositórios. O pedido padrão estava saindo conforme o esperado:

1.0.0.0/
1.0.0.1/
1.0.0.10/
1.0.0.11/
....

mas possivelmente não como você gostaria! Seguir a saída, na verdade, forneceu 1.0.0.9 como o número da tag, quando a resposta que eu realmente queria era 1.0.0.45.

Modo detalhado para o resgate. Isso lista o número do commit primeiro, então, a menos que você esteja fazendo algum truque muito estranho, a última tag também deve ter o número de commit mais alto.

Passe por sort, siga os resultados e awk para o 6º parâmetro (existe um awk para “último”?), O nome da pasta; ou seja, o número da etiqueta.

svn ls -v <path/to/repo> | sort -d | tail -n 1 | awk '{print $6}'

Agora, pode haver um problema aqui em que a classificação está rodando em toda a string fornecida pelo modo verboso do svn ls. Isso inclui o nome do committer e a data da última modificação. Eu imagino que haja alguma combinação pela qual um nome de committers e a data de modificação podem vir com uma precedência maior do que o número de revisão, mas isso não aconteceu durante meus testes.

Eu ficaria feliz em ouvir sobre melhorias neste trecho.