Bagaimana cara mendapatkan url dari repo svn saat ini?

84

Saya memiliki 2 svn checkout yang seseorang siapkan untuk saya. Sekarang saya perlu memeriksa file-file yang sama ini di komputer lain, tetapi karena saya tidak memeriksanya pada awalnya saya tidak tahu url untuk digunakan ketika menjalankan perintah checkout svn:

svn co WHAT_GOES_HERE?

Karena 2 checkout ini sudah ada di salah satu server saya, apakah ada cara untuk mendapatkan url dari repo dari mana mereka awalnya diperiksa?

Manny
sumber

Jawaban:

132

Anda bisa mendapatkan URL direktori tempat Anda berada, serta Root Repositori dan info lainnya dengan menjalankan perintah berikut di salah satu direktori yang telah diperiksa:

svn info

Jika Anda menginginkan perintah yang hanya mengembalikan URL repositori, mungkin untuk digunakan dalam skrip, maka Anda dapat meneruskan parameter berikut:

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

Perlu dicatat bahwa --show-item tersedia di Subversion 1.9+ . Di versi yang lebih lama Anda dapat menggunakan potongan berikut untuk mencapai hasil yang serupa:

svn info | grep 'Repository Root' | awk '{print $NF}'
Vladimir Blaskov
sumber
5
Hal yang sama untuk windows: info svn | findstr / C: "Root Repository:"
s3v1
Untuk mendapatkan path relatif untuk repositori (berguna sebagai tambahan untuk URL root): svn info --show-item relative-url
Elijah Lofgren
12

Untuk SVN 1.7 saya harus menggunakan

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

Saya harap ini membantu orang lain yang datang ke sini dengan SVN yang lebih baru

JoshStrange
sumber
Jawaban yang diterima masih berfungsi svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38.
dash17291
4
@ dash17291 itu "berfungsi" seperti di dalamnya mencetak sesuatu tetapi bukan info yang tepat. Ia mengembalikan akar repo yang bukan yang diinginkan penanya. Root bukan url repo (setidaknya tidak biasanya). Dengan jawaban di atas Anda akan mendapatkan repourl.com/root vs milik saya di mana Anda akan mendapatkan repourl.com/root/branch/branch_name atau apa pun yang telah Anda periksa.
JoshStrange
Ini juga cocok dengan "URL Relatif" menggunakan svn 1.8.10. Grep harus diubah kegrep "^URL"
Burhan Ali
3

Tidak perlu melakukan grep, cukup gunakan AWK untuk pencarian dan membatasi string
svn info | awk '/^URL/{print $2}'

TristikNZ
sumber