Como obter o URL do repo svn atual?

84

Eu tenho 2 checkouts svn que alguém configurou para mim. Agora preciso verificar esses mesmos arquivos em outro computador, mas como não os verifiquei inicialmente, não conheço os URLs a serem usados ​​ao executar o comando svn checkout:

svn co WHAT_GOES_HERE?

Como esses dois checkouts já existem em um dos meus servidores, existe uma maneira de obter o URL do repo do qual eles foram inicialmente retirados?

Manny
fonte

Respostas:

132

Você pode obter a URL do diretório em que está, assim como a Raiz do Repositório e outras informações executando o seguinte comando em qualquer um dos diretórios que efetuaram check-out:

svn info

Se você desejar um comando que retorne apenas a URL do repositório, talvez para uso em um script, poderá passar o seguinte parâmetro:

svn info --show-item repos-root-url 

Vale ressaltar que --show-item está disponível no Subversion 1.9+ . Nas versões anteriores, você pode usar o seguinte trecho para obter um resultado semelhante:

svn info | grep 'Repository Root' | awk '{print $NF}'
Vladimir Blaskov
fonte
5
A mesma coisa para o windows: svn info | findstr / C: "Raiz do repositório:"
s3v1
Para obter o caminho relativo para o repositório (útil além do URL raiz): svn info --show-item relative-url
Elijah Lofgren
12

Para o SVN 1.7, eu tive que usar

svn info | grep '^URL' | awk '{print $NF}'

Espero que isso ajude qualquer pessoa que venha aqui com um SVN mais recente

JoshStrange
fonte
A resposta aceita ainda está funcionando svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38.
Dash17291
4
@ dash17291 "funciona", pois imprime algo, mas não as informações corretas. Ele retorna a raiz do repositório, que não é o que o solicitante deseja. A raiz não é o repositório (pelo menos não normalmente). Com a resposta acima, você receberá repourl.com/root vs mine, onde você receberá repourl.com/root/branch/branch_name ou o que quer que tenha verificado.
JoshStrange
Isso também corresponde ao "URL relativo" usando o svn 1.8.10. O grep deve ser alterado paragrep "^URL"
Burhan Ali
3

Não há necessidade de grep, basta usar o AWK para a pesquisa e delimitar a string
svn info | awk '/^URL/{print $2}'

TristikNZ
fonte