Как принять "их конфликт" для разрешения конфликта дерева: локальное добавление, входящее добавление при слиянии

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

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

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

2 ответа

Решение

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

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

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

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

Ex. Рабочая копия в папке 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"

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

Tree conflict on 'wp-content/plugins/cm-alpha/condensed-back.js'
> local file replace, incoming file edit upon update
Select: (mc) keep affected local moves,
    (r) mark resolved (breaks moves), (p) postpone,
    (q) quit resolution, (h) help: 

После того, как я ответил r

Resolved conflicted state of 'wp-content/plugins/cm-alpha/condensed-back.js'
Summary of conflicts:
Tree conflicts: 0 remaining (and 1 already resolved)

... и это продолжилось с обновлением

Updating 'wp-content/plugins':
A    wp-content/plugins/cm-jobs/both-ends/php/ajax-prc
U    wp-content/plugins/cm-eats/condensed-front.css
U    wp-content/plugins/cm-eats/condensed-front.min.css
U    wp-content/plugins/cm-estore/condensed-front.css
Updated to revision 304.
At revision 304.

По завершении я сделал предварительный просмотр рассматриваемого файла с помощью

ls wp-content/plugins/cm-alpha/condensed-back.js -l
-rwxrwxrwx 1 www-data www-data 793528 Oct 19 21:13 condensed-back.js

Затем я выполнил эти 2 команды:

sudo svn delete condensed-back.js --force
sudo svn revert condensed-back.js

Затем я "после" просмотрел рассматриваемый файл, который подтвердил, что он действительно был обновлен до последней версии репо.

ls wp-content/plugins/cm-alpha/condensed-back.js -l
-rwxr-xr-x 1 root root 794427 Oct 25 22:08 condensed-back.js

Как видите, размер байта отличается, а дата является самой последней датой. Итак, эта процедура работала, как упоминалось в другом месте в этом посте. Я просто хотел показать это процедурно, чтобы исключить из процесса все серые зоны.

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