Как принять «их конфликт» для разрешения конфликта дерева: локальное добавление, входящее добавление при слиянии - PullRequest
24 голосов
/ 10 февраля 2012

Я столкнулся со следующим основным конфликтом дерева: локальное добавление, входящее добавление при слиянии.

Я знаю, что мы можем использовать svn resolve --accept working file для ее разрешения, но SVN не позволяет мне использовать accept their-conflict для принятия входящей версии.

Может кто-нибудь сказать мне, как заменить мой локальный файл на входящий? Можно ли каким-либо образом использовать svn resolved file?

Ответы [ 2 ]

14 голосов
/ 13 июня 2012

Правильно сделать, это обнаружить эту проблему в предыдущем --dry-run и удалить локальный конфликтующий каталог с помощью svn delete перед выполнением слияния.

Первый сценарий: рабочая копия уже слияниясделанный.Решение: удалите рабочую копию, извлеките чистую копию и сделайте правильные действия.

Второй сценарий: Уже зафиксирован неверный каталог, после svn resolve --accept=working.

Вы должны svn delete конфликтующий каталоги повторите объединение из родительского каталога конфликтующего каталога, игнорируя mergeinfo.Вернуть все объекты, кроме предыдущего конфликтующего каталога (теперь конфликта нет).Проверьте и передайте изменения.

Пример.Рабочая копия в папке WC.Ваш конфликт в каталоге A / threatDir:

cd A
svn delete conflictDir
svn merge --ignore-ancestry -rbeginRev:endRev <URLrepo/A>
svn -R revert `ls | grep -v conflictDir`
<... check ...>
svn ci -m "conflictDir fixed"
8 голосов
/ 21 декабря 2015

У меня была похожая проблема, когда я svn обновляю файл, который конфликтует с моим локальным файлом. Я хочу, чтобы удаленная копия заменила мою локальную копию. Что я сделал svn delete file_name, а потом svn revert file_name. Восстанавливается на удаленную копию. Я не уверен, если первое удаление SVN необходимо или нет.

...