Почему SVN не объединяет транк, когда субдиректории транка были объединены?

Я столкнулся с действительно раздражающей проблемой SVN merge, Я хочу слить ствол в ветку. Обычно это довольно просто, но на этот раз из-за серьезных изменений мне пришлось выполнять пошаговую обработку, а SVN, похоже, этого не оценивает.

Допустим, я создал ветку в ревизии A, а теперь репозиторий в ревизии B. Ствол содержит несколько sub dir, скажем, S1, S2. Чтобы дать вам представление о сложности, B составляет ~1000 ревизий после A, со многими изменениями в стволе. Было много конфликтов и древовидных конфликтов.

Чтобы обрабатывать шаг за шагом, сначала я выбираю слияние S1, затем S2, затем я надеялся, что слияние B произойдет немедленно. Я использовал команду svn merge https://myrepo/trunk/S1 myBranchWorkingCopy/S1

Слияние S1 было болезненным, но успешным. То же самое для S2.

Полный надежд, я запускаю пробную версию svn merge --dry-run https://myrepo/trunk myBranchWorkingCopy, ожидая увидеть только обновленные свойства. Я был слишком усердным... Вместо этого, КАЖДЫЙ конфликт (дерево или текст), который я разрешил для S1 или S2, должен быть разрешен снова...

Мой вывод

Если транк содержит S1 + S2, объединенный (S1) + объединенный (S2)!= Объединенный (транк)?!?

Я что-то пропустил? Как я могу сказать SVN, что все подкаталоги были объединены и что ствол должен быть объединен немедленно?

Спасибо

1 ответ

Это должно работать путем слияния с подпапками с флагом --record-only, чтобы Subversion знала, что изменения есть с обеих сторон. См. Раздел "Сохранение живого реинтегрированного филиала" в разделе "Расширенное слияние " книги Subversion.

(Возможно, сначала попробуйте на небольшом образце.)

Другие вопросы по тегам