В чем разница ч / б SVN Info и SVNversion - PullRequest
2 голосов
/ 27 января 2012

Мне нужно пометить свой проект последней ревизией (рабочей копией). Я думал об использовании команды svn info, но я делаю выборочные обновления, так что у меня есть рабочая копия со смешанной ревизией, и при выполнении svn info это показывает некоторую старую ревизию. Помогите пометить мой источник со смешанной ревизией.

Я тоже нашел svnversion, это поможет ?? что лучше для работы svn info или svnversion

Ответы [ 5 ]

3 голосов
/ 12 сентября 2013

Хотя svnversion может быть полезен в соответствии с ответом @Ivan Zhakov, он не работает 100% времени, особенно с подпапками рабочей копии SVN версии 7 (я получаю только результат «экспортирован»)

чтобы быть совместимым в скриптах сборки, я использую svn info.

REVISION=$(svn info | grep -i revision | cut -f2 -d: | tr -d [:space:])

Вы можете получить аналогичный «локально модифицированный» флаг через

OUTSTANDING=$(svn status | grep '^[M!DA]')
1 голос
/ 05 мая 2012

svnversion наиболее полезен, когда вы хотите написать скрипт сборки, который помещает информацию в строку, например, ваш процесс сборки может создать строку версии, которая скомпилирована в приложение и которая содержит вывод svnversion, примененный к базе.каталог рабочей копии.В отличие от 'svn info', которая предоставляет информацию только об отдельных файлах или каталогах, svnversion будет просматривать все подкаталоги и изменять свой вывод (см. Ответ Ивана Жакова), чтобы отразить любое сочетание локальных модов или разных версий.Если он говорит просто «4123», вы знаете, что можете (если все настроено правильно) восстановить ту же сборку, проверив версию 4123.

1 голос
/ 27 января 2012

svnversion предоставляет ту же информацию (номер редакции), что и svn info , но суммировано.

Я всегда использовал svn info для получения этой информации.

0 голосов
/ 27 января 2012

Для пометки WC со смешанной ревизией просто используйте команду copy from WC:

svn copy WC URL -m "Tagged version x.x.x".

svnversion печатает один номер версии, если рабочая версия - одна ревизия, без изменений, без переключения и с URL-адресом, который соответствует необязательному аргументу TRAIL_URL. Если рабочий копия необычная, номер версии будет более сложным:

 4123:4168     mixed revision working copy
 4168M         modified working copy
 4123S         switched working copy
 4123P         partial working copy, from a sparse checkout
 4123:4168MS   mixed revision, modified, switched working copy
0 голосов
/ 27 января 2012

Примените svn info к вашему URL репо, а не к рабочей копии.Это должно быть самое последнее:

svn info http://server/svn/repo

svnversion - это не команда svn, это сторонний скрипт.И он должен использовать svn info для итерации вашей рабочей копии и получения ревизий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...