2009-07-10 5 views
11

Когда у меня несколько конфликтов, есть ли способ разрешить их все, просто передав SVN, чтобы сохранить версию, находящуюся в репозитории? К сожалению, мы все еще используем 1.4.Subversion быстро разрешает все конфликты

+3

Почему вы хотите сделать это? скажем, вы сделали изменение в 200 строк, и кто-то проверил в файле прямо перед вами, что просто добавило несколько комментариев, вызвавших конфликт. Вы просто собираетесь бросить свою 200-минутную смену? –

+3

это случай, когда я знаю, что все изменения в какой-либо рабочей копии являются нежелательными и хотят использовать версию repos. – nategood

ответ

29

Я считаю, что если вы запустите команду svn revert . -R, вы в основном отмените все изменения в своей рабочей копии. Если есть конфликтующие файлы, SVN выдает ваши изменения и использует версию, которую вы недавно обновили.

Конечно, это также избавляет от изменений в файлах, которые не конфликтуют.

+1

SVN выдает ваши изменения и использует версию, которую вы изначально выписали; вам все равно нужно выполнить обновление svn, чтобы получить текущую версию HEAD из репозитория. –

+0

@Roger: но если у вас конфликтующие файлы, вы запустили svn. Это версия, которую svn вытащил из репозитория, который svn возвращается (если это не изменилось, я протестировал его с 1.6.3). –

+0

уточнил мой ответ соответственно :) –

5

Обновление svn. --accept theirs-full

Или это невозможно в svn 1.4?

Вы можете попробовать запустить клиент 1.5 с сервером 1.4, может работать.

+0

Я запустил 1.5 клиента с сервером 1.4 некоторое время. Для большинства целей он отлично работает, но вы теряете автоматическое отслеживание слияния, с одной стороны. См. «Проблемы совместимости» в примечаниях к выпуску 1.5 (http://subversion.tigris.org/svn_1.5_releasenotes.html). –

0

Вы можете попробовать

svn st | awk '/^C/ { print $2 }' | xargs svn revert 

это восстановить все файлы с конфликтами

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

  • Нет связанных вопросов^_^