Разрешение конфликта деревьев

Как разрешить конфликт дерева в текущем scenerio.

C:\DevBranch
C:\MyBranch

Я обновил обе ветки. Отредактировал MyBranch, а затем передал обратно. Теперь вы хотите объединить эти изменения в DevBranch. Когда я делаю слияние, я получаю "Конфликты деревьев"

The last merge operation tried to add the file 'abc.def', but it was already added locally.

How do you want to resolve this conflict?
Keep the file from repository
Keep the local file

Как я могу решить?

Ответ 1

Что вы можете сделать, чтобы разрешить конфликт,

svn resolve --accept working -R <path>

где <path> - это то, где у вас есть конфликт (может быть корень вашего репо).

Пояснения:

  • resolve запрашивает svn для разрешения конфликта
  • accept working указывает на сохранение ваших рабочих файлов
  • -R означает рекурсивный

Надеюсь, что это поможет.

EDIT:

Подводя итог сказанным в комментариях ниже:

  • <path> должен быть каталог в конфликте (C:\DevBranch\ в случае OP)
  • Вероятно, что происхождение конфликта
    • либо использование команды svn switch
    • или проверили опцию Switch working copy to new branch/tag при создании ветки
  • Более подробную информацию о конфликтах можно найти в выделенном разделе документации Tortoise.
  • чтобы иметь возможность запускать команду, у вас должны быть установлены инструменты CLI вместе с Tortoise:

Command line client tools

Ответ 2

По существу, конфликты деревьев возникают, если в структуре папок на ветки происходит некоторая реструктуризация. Вам нужно удалить папку конфликта и использовать svn clean один раз. Надеюсь, это решит ваш конфликт.