2009-06-02 2 views
13

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

cvs -n update 

И было бы нужно мне, что случилось бы, если бы я побежал обновление, но ничего не меняя. В основном я использую это, чтобы проверить, не возникли ли у меня много конфликтов.

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

т.е.

svn -n switch url1 url2 

Я понимаю, что есть --dry управляемый переключатель, который проходит через движения, но фактически не дает никакого выхода. Так что половина пути там :)

Как я могу получить его, чтобы сделать всухую и показать, каковы будут результаты (какие файлы будут изменены, что обновление, удаление, добавление и конфликтующих).

Благодаря

Обновление: Что касается тех, кто предложил мне использовать --dry работай я попробовал следующее

СВН переключатель URL-адрес --dry работай

и Я получаю

Subcommand 'switch' doesn't accept option '--dry-run' 

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

+0

Я не понимаю, почему вы думаете, что переключатель svn будет эквивалентен обновлению cvs? Это не. – lothar

+0

Я знаю, что переключатель в svn отличается от обновления cvs. Это довольно очевидно. Вопрос. В CVS мы можем использовать опцию -n с любой командой cvs. Что эквивалентно для svn, я бы хотел использовать его с коммутатором? – hhafez

+0

Зачем вам сушить с помощью переключателя? Проверьте ответ Дона, я думаю, что «слияние» может быть тем, что вы ищете. – simao

ответ

15

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

+9

Жаль, что -dry-run не работает с фиксацией. –

+7

@MikeMiller Если вы хотите проверить, какой файл будет зафиксирован, не пишите сообщение с помощью команды.Таким образом, редактор откроется для вас, чтобы вы представили сообщение, и список файлов, которые должны быть зафиксированы, будет отображаться. –

+0

Добавление -dry-run к фиксации будет очень полезно, поскольку вывод (список файлов) может быть перенаправленными в другие команды (например, список измененных файлов для загрузки на веб-сайт, чтобы они могли быть просмотрены до «реального» svn ci). –

0

Насколько мне было известно, dry-run покажет вам, что он будет делать, в том числе то, что будет конфликтующих и т.д.

http://svnbook.red-bean.com/en/1.4/svn.branchmerge.copychanges.html (поиск «сухого прогона» на этой странице)

+0

см. Мое обновление относительно --dry-run – hhafez

3

использования --dry перспектива

--dry перспектива
идет через все движения выполнения команды, но не делает никаких реальных изменений-либо на диске или в хранилище.

От: Subversion Complete Reference

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

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

Ответ таковы: Использование - дымоход

Факт --dry перспективе не работает с переключателем команда незадача, но @Don дал вам, как обойти

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

Конечно, вы также можете подать bug/enhancement report with subversion.

+0

см. Мое обновление относительно --dry-run – hhafez

+0

@hhafez Пожалуйста, прочитайте справочное руководство. --dry-run может не применяться ко всем командам svn, но большинство (переключатель, очевидно, является исключением) – lothar

+0

@lothar К сожалению, 'commit' также является исключением. – Melebius

6

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

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

Смежные вопросы