Как получить URL текущего svn репо?


84

У меня есть 2 svn checkouts, которые кто-то настроил для меня. Теперь мне нужно проверить эти же файлы на другом компьютере, но поскольку я не проверял их изначально, я не знаю URL-адресов, которые следует использовать при запуске команды svn checkout:

svn co WHAT_GOES_HERE?

Поскольку эти 2 кассы уже существуют на одном из моих серверов, есть ли способ получить URL репо, из которого они были изначально извлечены?

Ответы:


132

Вы можете получить URL-адрес каталога, в котором вы находитесь, а также корень хранилища и другую информацию, выполнив следующую команду в любом из извлеченных каталогов:

svn info

Если вам нужна команда, которая возвращает только URL-адрес хранилища, возможно, для использования в скрипте, вы можете передать следующий параметр:

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

Стоит отметить, что --show-item доступно в Subversion 1.9+ . В старых версиях вы можете использовать следующий фрагмент для достижения аналогичного результата:

svn info | grep 'Repository Root' | awk '{print $NF}'

5
То же самое для окон: svn info | findstr / C: "Корень хранилища:"
s3v1

Чтобы получить относительный путь к хранилищу (полезно в дополнение к корневому URL): svn info --show-
Элайджа Лофгрен

12

Для SVN 1.7 мне пришлось использовать

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

Я надеюсь, что это поможет всем, кто придет сюда с новым SVN


Принятый ответ все еще работает svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38.
dash17291

4
@ dash17291 это «работает», так как в нем распечатывается что-то, но не правильная информация. Он возвращает корень репо, который не тот, который хочет запрашивающий. Корень не является URL репо (по крайней мере, обычно). С ответом выше вы получите repourl.com/root против моего, где вы получите repourl.com/root/branch/branch_name или что-то еще, что вы извлекли .
JoshStrange

Это также соответствует "Относительный URL", используя SVN 1.8.10. Grep должен быть изменен наgrep "^URL"
Burhan Ali

3

Не нужно grep, просто используйте AWK для поиска и разграничения строки
svn info | awk '/^URL/{print $2}'

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.