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

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

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

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


person coure2011    schedule 24.09.2012    source источник


Ответы (2)


Что вы можете сделать для разрешения своего конфликта?

svn resolve --accept working -R <path>

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

Пояснения:

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

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

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

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

  • <path> должен быть конфликтующим каталогом (C:\DevBranch\ в случае OP)
  • it's likely that the origin of the conflict is
    • either the use of the svn switch command
    • или отметив опцию Switch working copy to new branch/tag при создании ветки
  • дополнительную информацию о конфликтах можно найти в специальном разделе документации Tortoise.
  • чтобы иметь возможность запускать команду, у вас должны быть установлены инструменты CLI вместе с Tortoise:

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

person Yannick Blondeau    schedule 24.09.2012
comment
какой должен быть путь? C: \ DevBranch или C: \ MyBranch? - person coure2011; 24.09.2012
comment
Это должно быть C:\DevBranch. Кстати, вы использовали команду svn switch в одной из этих двух папок? - person Yannick Blondeau; 24.09.2012
comment
Думаю, при создании ветки я использовал рабочий каталог переключателя ' - person coure2011; 24.09.2012
comment
@Luke Вы можете сделать это так, если вы установили инструменты CLI вместе с Tortoise. Просто cd в корень вашей рабочей копии и выполните svn resolve --accept working -R ./. Если вам нужна дополнительная информация о том, как сделать это с помощью Tortoise, вы можете проверить посвященный раздел документации ... Надеюсь, это поможет! - person Yannick Blondeau; 09.07.2013

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

person Ujjwal Raj Shah    schedule 30.01.2019