Jak uzyskać adres URL bieżącego repozytorium svn?

83

Mam 2 zamówienia svn, które ktoś dla mnie skonfigurował. Teraz muszę sprawdzić te same pliki na innym komputerze, ale ponieważ początkowo ich nie sprawdziłem, nie znam adresów URL używanych podczas uruchamiania polecenia svn checkout:

svn co WHAT_GOES_HERE?

Ponieważ te 2 kasy istnieją już na jednym z moich serwerów, czy istnieje sposób na uzyskanie adresu URL repozytorium, z którego zostały początkowo wyewidencjonowane?

Manny
źródło

Odpowiedzi:

131

Możesz uzyskać adres URL katalogu, w którym się znajdujesz, a także katalog główny repozytorium i inne informacje, uruchamiając następujące polecenie w jednym z pobranych katalogów:

svn info

Jeśli potrzebujesz polecenia, które zwraca tylko adres URL repozytorium, być może do użycia w skrypcie, możesz przekazać następujący parametr:

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

Warto zauważyć, że --show-item jest dostępny w Subversion 1.9+ . W starszych wersjach możesz użyć następującego fragmentu kodu, aby uzyskać podobny wynik:

svn info | grep 'Repository Root' | awk '{print $NF}'
Vladimir Blaskov
źródło
5
To samo dotyczy systemu Windows: informacje o svn | findstr / C: „Root repozytorium:”
s3v1 11.10
Aby uzyskać względną ścieżkę do repozytorium (przydatne oprócz głównego adresu URL): svn info --show-item relative-url
Elijah Lofgren
12

Do SVN 1.7 musiałem użyć

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

Mam nadzieję, że pomoże to każdemu, kto tu przyjeżdża z nowszą SVN

JoshStrange
źródło
Akceptowana odpowiedź wciąż działa svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38.
dash17291
4
@ dash17291 „działa”, ponieważ drukuje coś, ale nie ma właściwych informacji. Zwraca katalog główny repo, który nie jest tym, czego chce pytający. Katalog główny nie jest adresem repozytorium (przynajmniej nie zwykle). Z powyższą odpowiedzią otrzymasz repourl.com/root vs mine, gdzie otrzymasz repourl.com/root/branch/branch_name lub cokolwiek, co sprawdziłeś.
JoshStrange
To również pasuje do „Względnego adresu URL” przy użyciu svn 1.8.10. Grep powinien zostać zmieniony nagrep "^URL"
Burhan Ali
3

Nie musisz grepować, po prostu użyj AWK do wyszukiwania i ograniczania łańcucha
svn info | awk '/^URL/{print $2}'

TristikNZ
źródło