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

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

C:\DevBranch
C:\MyBranch

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

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 обозначает рекурсивный

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

РЕДАКТИРОВАТЬ:

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

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

Инструменты клиента командной строки

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

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