Вопрос: Как получить URL-адрес текущего svn-репо?


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

svn co WHAT_GOES_HERE?

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


73
2017-09-11 22:07


Источник




Ответы:


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

svn info

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

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

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

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

120
2017-09-11 22:20



То же самое для окон: svn информация | findstr / C: "Корень репозитория:" - s3v1
Чтобы получить относительный путь для репозитория (полезно в дополнение к корневому URL): svn info --show-item relative-url - Elijah Lofgren


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

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

Я надеюсь, что это поможет кому-то еще, кто приходит сюда с более новым SVN


11
2017-09-28 19:09



Принятый ответ все еще работает svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38, - dash17291
@ dash17291 он «работает», поскольку в нем печатается что-то, но не правильная информация. Он возвращает корень репо, который не то, чего хочет искатель. Корень - это не репо-url (по крайней мере, обычно). С приведенным выше ответом вы получите repourl.com/root против моего, где вы получите repourl.com/root/branch/branch_name или что бы вы ни проверили. - JoshStrange
Это также соответствует «Относительный URL», используя svn 1.8.10. Греф должен быть изменен на grep "^URL" - Burhan Ali


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


2
2017-11-04 20:24