Конфликт слияния с идентичными вновь созданными каталогами в intellij IDEA с SVN - PullRequest
1 голос
/ 06 марта 2020

Справочная информация:

Мы используем последний IntelliJ IDEA 2019.3.3 (Ultimate Edition) и SVN в качестве хранилища.

Проблема:

Если два человека создают новый идентичный каталог с собственным содержимым в своей локальной проверке и хотят зафиксировать эти файлы, второй коммиттер получает конфликт. Это хорошо, пока. Что приводит к следующему: Intellij предоставляет только опции «Accept Yours» или «Accept Theirs», но не возможность слияния.

Example For

Почему?

Если мы примем «их» -версию, мы «заменим» (как это будет объявлено позже в «Обзор затронутых файлов») весь наш каталог с их версией и автоматически удаляем наш контент, и если мы используем «вашу» версию, мы полностью примем нашу версию, но удалим все файлы содержимого «их» фиксации. В этом случае нам нужна возможность объединиться в один каталог и принять оба содержимого.

Есть ли альтернативный способ решить эту проблему и принять оба содержимого каталога?

Например:

Пользователь 1 фиксирует новый каталог с содержимым:

sameDirectory
|- UserOneFileOne.java

Пользователь 2 фиксирует новый каталог с тем же именем но с собственным контентом с конфликтами:

sameDirectory
|- UserTwoFileOne.java

результат с принятием «Их» Версия:

sameDirectory
|- UserOneFileOne.java

результат с принятием «Ваш» Версия:

sameDirectory
|- UserTwoFileOne.java

желаемый результат:

sameDirectory
|- UserOneFileOne.java
|- UserTwoFileOne.java

1 Ответ

1 голос
/ 23 марта 2020

IntelliJ использует клиент командной строки svn, а svn не поддерживает такие слияния. Это конфликт дерева, и для его решения нужно принять ту или иную ветку дерева

Если вы согласны с ходом, ваш бар. c излишен. Вы захотите удалить его и пометить конфликт дерева как разрешенный. Но подождите: вы внесли изменения в этот файл! Перед удалением bar. c вам необходимо решить, нужно ли вносить изменения, внесенные в него, в другом месте, например, в новый файл baz. c, где теперь живет весь код bar. c. Давайте предположим, что ваши изменения должны «следовать за ходом». Subversion недостаточно умна, чтобы выполнять эту работу за вас [10], поэтому вам нужно перенести изменения вручную.

http://svnbook.red-bean.com/en/1.8/svn.tour.treeconflicts.html

...