Вирішення деревного конфлікту


84

Як вирішити конфлікт дерев у поточному сценарії.

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

Як я можу вирішити проблему?

Відповіді:


167

Що ви можете зробити, щоб вирішити ваш конфлікт

svn resolve --accept working -R <path>

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

Пояснення:

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

Сподіваюся, це допомагає.

РЕДАГУВАТИ:

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

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

Інструменти клієнтського рядка командного рядка


яким має бути шлях? C: \ DevBranch або C: \ MyBranch?
coure2011,

2
Це повинно бути C:\DevBranch. До речі, чи використовували ви svn switchкоманду в одній із цих двох папок?
Yannick Blondeau

1
Я думаю, під час створення гілки я використовував "перемикання робочого каталогу"
coure2011,

@Luke Ви можете зробити це так, якщо ви встановили інструменти CLI разом з Tortoise. Просто cdдо кореня вашої робочої копії та запуску svn resolve --accept working -R ./. Якщо вам потрібна додаткова інформація про те, як це зробити з Черепахою, ви можете переглянути спеціальний розділ документації ... Сподіваюся, це допоможе!
Yannick Blondeau

0

В основному, конфлікти дерев виникають, якщо в структурі папок на гілці відбувається якась перебудова. Потрібно видалити папку конфлікту та використати svn cleanодин раз. Сподіваюся, це вирішить ваш конфлікт.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.