2008-11-30 2 views
4

У меня есть ветвь dev, которая не была затронута какое-то время. Я объединил багажник в нем, чтобы интегрировать многие исправления/изменения в основной строке, поскольку он был разветвлен, но теперь у меня много мелких конфликтов (merge-left/merge-right).Устранение SVN-слияния рекурсивно откладывает конфликты

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

EDIT: Как указано в комментариях, я попытался вернуться, а затем сменил svn merge с параметром --accept, но, видимо, в SVN 1.0 такой опции нет. Все еще ищет решение.

+1

вы не можете установить SVN 1.5 только для слияния? Вы даже можете сделать это на другой машине. – orip 2008-11-30 12:27:21

+0

Я рассмотрю его – 2008-11-30 12:32:42

ответ

7

Я думаю, вы можете использовать опцию «-accept theirs-full» при выдаче команды svn merge. Это должно делать то, что вы хотите ...

+0

Я ищу решение, которое можно применить после операции слияния – 2008-11-30 11:15:40

+0

Ooops ... Извините, я не понял этого ... Я думаю, что самый простой - это возврат svn на локальный копия после слияния сгенерировала конфликты – abigagli 2008-11-30 11:54:12

0

Я думаю, что TSVN может это сделать, если вы выполните «Проверить изменения», в котором будут показаны все файлы, включая конфликтующие, выберите их все, а затем выберите « разрешить использование своих ".

Не уверен, что если TSVN имеет важное значение для вашей платформы, или что на самом деле именно то, что вы хотите сделать, но это может быть полезно ...

3

Как abigagly сказал, вы должны использовать --accept theirs-full при выполнении слияния , Если вы уже сделали слияние и хотите начать все сначала, сначала можете использовать svn revert -R, чтобы начать сначала.

Опция --accept является новой в SVN 1.5 вместе с интерактивной поддержкой слияния.

0

Хорошо, у меня есть план, и я думаю, что это объясняет большинство моих бед - (собранное из моего поста пользователей @ подрывной деятельности ...)

Я думаю, что мы попали следующие проблемы, которые сделали еще хуже:

  • вишни выбрать слияния + сливается на уровне ниже корня (все разрешено, но они могут сделать позже сливает более сложным)
  • мы предполагали завершение команд слияния означает все изменения слиты (не двойная проверка с mergeinfo - показывать-revs)
  • po с более ранними клиентами (1.5 или раньше 1.6). У нас много систем ubuntu и debian, и мы не знали о сайте обновления wandisco. Итак, мы пропустили простой способ оставаться в курсе событий. Сейчас мы быстро развернуть 1.6.11

процесс PUSH:

  1. SVN слияния --reintegrate --accept отложить URL-филиальную путь-к-рабочей
  2. Svn mergeinfo URL-филиал путь к рабочей области --show-правомочных> оборотов eligible_revs.txt
  3. повторить, пока ничего не осталось, что это eligable

процесс PULL: же картина, но минус --reintegrate

3
svn --version 
svn, version 1.6.17 (r1128011) 

svn resolve -R --accept='theirs-full' <path>