У меня проблема при объединении из магистрали в ветку разработки в дереве SVN.
История проекта такова. Все началось с одного ствола. О ревизии 207 была создана первая ветка. Затем в редакции 331 интересующая ветвь была отделена от ствола.
Сейчас мы находимся на пересмотре 384. Большинство изменений между 331 были сделаны в интересующей ветви, но некоторые были независимо сделаны в стволе.
Чтобы ветка осталась в гармонии с стволом, я хотел слить из ствола в него. Так что я должным образом сделал так:
svn merge ^/trunk .
Однако я считаю, что возникают всевозможные конфликты. Я могу понять несколько конфликтов, но это затрагивает почти все каталоги и файлы в дереве.
Что еще хуже, так это то, что большинство из этих предполагаемых конфликтов на самом деле являются изменениями, которые были зафиксированы в соединительной линии между 207 и 331, и, следовательно, уже включены в ветвь, поскольку были там, так как ветвь была отделена от ствола.
Что еще хуже, это то, что ряд предполагаемых конфликтов - это конфликты деревьев, в которых участвуют файлы, которые были удалены или переименованы, опять же между 207 и 331. Поскольку их больше нет в ветви, и они действительно не должны существует там, я не вижу способа решить проблему.
Исправление является сложным, потому что почти для всех файлов ветвь правильная, и поэтому при слиянии с последующим принятием копии ветки мне ничего не остается зафиксировать, поэтому сервер никогда не получит подсказку, что слияние имеет факт был совершен.
Я пробовал несколько вещей, чтобы исправить это:
svn cleanup
Мне показалось, что это не помогло.
svn checkout ^/branches/branch-of-interest new-local-copy-of-branch-of-interest
Проблема сохраняется в новой копии оформления заказа.
svn merge --record-only -r207:331 ^/trunk .
Интересно, что якобы слияние «только для записи» также попыталось изменить файлы в моей локальной копии!
svn merge ^/trunk .
Это породило целую кучу конфликтов и древовидных конфликтов, даже после того, как я боролся со слиянием только с записями, кропотливо решая изменения, которые он применял (слияние только с записями).
Я также должен сказать, что при запуске у меня работал клиент 1.6.17 и сервер 1.4.6. Однако с тех пор сервер также был обновлен до версии 1.6.17, и проблема сохраняется.
Есть ли способ, которым люди нашли решение этой проблемы? Выполнение полного слияния и разрешения файлов один за другим было бы невероятно трудоемким, и на данный момент - по очевидным причинам - я даже не уверен, что в следующий раз, когда мой SVN не будет просто пытаться тянуть то же самое на я снова и снова.