Когда я делаю svn status .
, я получаю это:
! C auto-complete-config.elc
> local edit, incoming delete upon update
! + C auto-complete.elc
> local edit, incoming delete upon update
! + C popup.elc
> local edit, incoming delete upon update
! + C fuzzy.elc
> local edit, incoming delete upon update
в основном, эти файлы не должны быть в хранилище. Разработчик удалил их. Затем, я думаю, что я сделал svn rm ...
после факта по ошибке (должен был сделать svn update .
вместо этого).
Так что теперь, когда я это делаю svn status .
, я получаю эти сообщения о конфликте деревьев.
Я нашел документ здесь, но не уверен, как «объединить» его в соответствии с документом.
Как от них избавиться?
Я думаю, что моя рабочая копия синхронизируется с хранилищем. Не знаю, почему эти сообщения показывает. Эти файлы должны быть удалены и удалены, насколько я знаю везде. Я попробовал , svn update .
и , svn revert .
но я все еще получаю это сообщение , когда я делаю svn status .
.
"local missing or deleted or moved away, incoming dir edit upon merge"
Ответы:
Укороченная версия:
Если конфликт о каталогах вместо файлов , то замените
touch
сmkdir
иrm
сrm -r
.Примечание: та же процедура также работает для следующей ситуации:
Длинная версия:
Это происходит, когда вы редактируете файл, в то время как кто-то другой удалил файл и зафиксировал его первым. Как хороший гражданин SVN вы делаете обновление перед коммитом. Теперь у вас конфликт. Понимая, что удаление файла - это то, что вам нужно, чтобы удалить файл из рабочей копии. Вместо того, чтобы быть содержимым, svn теперь жалуется на то, что локальные файлы отсутствуют и что существует конфликтующее обновление, которое в конечном итоге хочет удалить файлы. Хорошая работа свн.
Не должно
svn resolve
работать, по какой-то причине, вы можете сделать следующее:Исходная ситуация: локальные файлы отсутствуют, обновление конфликтует.
Воссоздайте конфликтующие файлы:
Если конфликт связан с каталогами, замените
touch
наmkdir
.Новая ситуация: локальные файлы, добавляемые в хранилище (да, svn, что бы вы ни говорили), обновление по-прежнему конфликтует.
Вернуть файлы в состояние, которое им нравится svn (это означает, что они удалены):
Новая ситуация: локальные файлы не известны svn, обновление больше не конфликтует.
Теперь мы можем удалить файлы:
Если конфликт связан с каталогами, замените
rm
наrm -r
.SVN больше не жалуется:
Готово.
источник
svn st | grep ! | cut -f 7 -d' ' | xargs touch
как один вкладыш для прикосновения ко всем отсутствующим файламrm -r foo bar
(илиrmdir foo bar
на Windows или, если вам нравится Windows).Попробуйте разрешить конфликт, используя
источник
Я только что получил эту же проблему, и я обнаружил, что
решил проблему.
SVN-решение не работает для меня:
источник
Если вы не внесли никаких изменений в конфликтующий каталог, вы можете сделать это
rm -rf conflicts_in_here/
и тогдаsvn up
. Это сработало для меня по крайней мере.источник
Вы можете принудительно вернуть ваш локальный каталог в SVN.
источник
A + C path/to/dir
и> local dir edit, incoming dir delete or move upon update
Таким образом, вы можете просто вернуть удаленный файл, но помните: если вы работаете с любым типом проекта с установленным файлом проекта (например, iOS), возврат файла добавит его в структуру вашей системной папки, но не в структуру файла вашего проекта. дополнительные шаги могут потребоваться, если вы в этом случае
источник
Эта проблема часто возникает, когда мы пытаемся объединить изменения другой ветви из неправильного каталога.
Пример:
Конфликт, возникающий при его выполнении:
И когда вы выбираете q, чтобы выйти из разрешения , вы получаете статус:
Это ясно означает, что объединение содержит изменения, связанные с
Branch1_SubDir
иBranch1_AnotherSubDir
, и эти папки не могут быть найдены внутриBranch1_SubDir
(очевидно, каталог не может быть внутри себя).Как избежать этой проблемы на первом месте:
Самое простое решение этой проблемы, которое сработало для меня:
источник