Ответ 1
Используйте merge
и --dry-run
с теми же URL-адресами, которые вы будете использовать для switch
. Он должен предоставить вам информацию, которую вы ищете, даже если в конце вы будете использовать switch
вместо merge
.
В CVS я мог бы сделать следующее
cvs -n update
И мне следовало бы, что произойдет, если я запустил обновление, но ничего не изменив. В основном я использую это, чтобы проверить, не возникнет ли у меня много конфликтов.
В svn я хотел бы сделать то же самое, но с помощью команды switch
т
svn -n switch url1 url2
Я понимаю, что есть переключатель -dry-run, который проходит через движения, но фактически не дает никакого вывода. Так что это половина пути:)
Как я могу заставить его сделать сухой прогон и показать, какими будут результаты (какие файлы будут изменены, которые обновлены, удалены, добавлены и конфликтуются).
Спасибо
Обновление: Что касается тех, кто предложил использовать --dry-run, я пробовал следующие
svn switch url --dry-run
и я получаю
Subcommand 'switch' doesn't accept option '--dry-run'
В теории это звучит неплохо, но, похоже, это не работает, я что-то делаю неправильно?
Используйте merge
и --dry-run
с теми же URL-адресами, которые вы будете использовать для switch
. Он должен предоставить вам информацию, которую вы ищете, даже если в конце вы будете использовать switch
вместо merge
.
В обновлении svn вы можете использовать svn status --show-updates
, чтобы показать все элементы, которые вы обновите.
Для слияния вы можете использовать --dry-run
любые проблемы.
Использовать -dry-run
- всухую
Выполняет все действия по запуску команды, но не делает никаких реальных изменений - либо на диске, либо в репозитории.
От: Полное описание Subversion
Ну, ваш вопрос был (и до сих пор)
Как заставить SVN выполнить команду без внесения изменений
Ответ: Использовать -dry-run
Тот факт, что -dry-run не работает с командой switch, - это тяжелая удача, но @Don дал вам приятное обходное решение
Используйте merge и -dry-run с теми же URL-адресами, которые вы будете использовать для коммутатора. Он должен предоставить вам информацию, которую вы ищете, даже если в конце вы будете использовать коммутатор вместо слияния.
Конечно, вы также можете записать отчет об ошибке/улучшении с помощью subversion.
Насколько мне известно, dry-run
покажет вам, что он будет делать, включая конфликты и т.д.
http://svnbook.red-bean.com/en/1.4/svn.branchmerge.copychanges.html (найдите "сухой ход" на этой странице)
В дополнение к статусу SVN -u, который покажет, какие файлы будут обновлены. Этот oneliner даст вам вывод о том, что содержимое будет изменено:
svn diff -r BASE:HEAD
Возможно, вы захотите передать это еще, если будет много изменений.
svn diff -r BASE:HEAD | more