Как заставить SVN выполнить команду без внесения изменений

В 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'

В теории это звучит неплохо, но, похоже, это не работает, я что-то делаю неправильно?

Ответы

Ответ 1

Используйте merge и --dry-run с теми же URL-адресами, которые вы будете использовать для switch. Он должен предоставить вам информацию, которую вы ищете, даже если в конце вы будете использовать switch вместо merge.

Ответ 2

В обновлении svn вы можете использовать svn status --show-updates, чтобы показать все элементы, которые вы обновите.

Для слияния вы можете использовать --dry-run любые проблемы.

Ответ 3

Использовать -dry-run

- всухую
Выполняет все действия по запуску команды, но не делает никаких реальных изменений - либо на диске, либо в репозитории.

От: Полное описание Subversion

Ну, ваш вопрос был (и до сих пор)

Как заставить SVN выполнить команду без внесения изменений

Ответ: Использовать -dry-run

Тот факт, что -dry-run не работает с командой switch, - это тяжелая удача, но @Don дал вам приятное обходное решение

Используйте merge и -dry-run с теми же URL-адресами, которые вы будете использовать для коммутатора. Он должен предоставить вам информацию, которую вы ищете, даже если в конце вы будете использовать коммутатор вместо слияния.

Конечно, вы также можете записать отчет об ошибке/улучшении с помощью subversion.

Ответ 5

В дополнение к статусу SVN -u, который покажет, какие файлы будут обновлены. Этот oneliner даст вам вывод о том, что содержимое будет изменено:

svn diff -r BASE:HEAD

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

svn diff -r BASE:HEAD | more