Почему я получаю конфликты деревьев в Subversion? - PullRequest
350 голосов
/ 10 апреля 2009

У меня была ветвь функций моего ствола, и я периодически сливал изменения из моего ствола в мою ветку, и все работало нормально. Сегодня я пошел, чтобы слить ветку обратно в ствол, и все файлы, которые были добавлены в мою ствол после создания моей ветки, были помечены как «конфликт дерева». Есть ли способ избежать этого в будущем?

Не думаю, что они правильно помечены.

Ответы [ 12 ]

0 голосов
/ 01 сентября 2017

Сценарий, с которым я иногда сталкиваюсь:

Предположим, у вас есть ствол, из которого вы создали ветку релиза. После некоторых изменений в стволе (в частности, создания каталога "some-dir"), вы создаете ветку Feature / Fix, которую вы хотите позже объединить с веткой Release (поскольку изменения были достаточно малы, а функция / Fix важна для выпуска) .

trunk -- ... -- create "some-dir" -- ...
     \                                  \-feature/fix branch
      \- release branch

Если вы затем попытаетесь объединить ветку Feature / Fix непосредственно с веткой Release, вы получите конфликт дерева (даже если каталог даже не существовал в ветке Feature / Fix):

svn status
!     C some-dir
      >   local missing or deleted or moved away, incoming file edit upon merge

Таким образом, вам нужно явно объединить коммиты, которые были сделаны в транке, перед созданием ветки feature / fix, которая создала каталог some-dir, прежде чем объединять ветку feature / fix.

Я часто забываю об этом, поскольку это не нужно в git.

0 голосов
/ 05 апреля 2012

У меня была такая же проблема, и я решил ее заново, выполнив объединение, используя эти инструкции . По сути, он использует «объединение двух URL» в SVN, чтобы обновить trunk до текущего состояния вашей ветви, не беспокоясь об истории и конфликтах деревьев. Спасло меня от ручного исправления 114 древовидных конфликтов.

Я не уверен, сохраняет ли она историю так, как хотелось бы, но в моем случае это стоило того.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...