Как разрешить сообщение "локальное редактирование, входящее удаление при обновлении"
когда я делаю 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 status ., Я получаю эти сообщения о конфликте дерева.
я нашел док здесь но не уверен, как" объединить " его в соответствии с документом.
Как избавиться от их?
Я думаю, что моя рабочая копия синхронизирована с репозиторием. Не знаю, почему эти сообщения показывают. Эти файлы должны быть удалены и удалены, насколько я знаю, везде. Я пытался svn update . и svn revert . но я все еще получаю это сообщение, когда я делаю svn status ..
7 ответов:
короткая версия:
$ svn st ! + C foo > local edit, incoming delete upon update ! + C bar > local edit, incoming delete upon update $ touch foo bar $ svn revert foo bar $ rm foo barесли конфликт касается каталогов вместо файлов, то замените
touchСmkdirиrmСrm -r.
Примечание: та же процедура также работает для следующей ситуации:
$ svn st ! C foo > local delete, incoming delete upon update ! C bar > local delete, incoming delete upon update
версия:
это происходит, когда вы редактируете файл, в то время как кто-то другой удалил файл и совершил первый. Как хороший гражданин svn вы делаете обновление перед фиксацией. Теперь ты есть конфликт. Понимая, что удаление файла-это правильное решение, вы удаляете файл из своей рабочей копии. Вместо того, чтобы быть содержимым svn теперь жалуется, что локальные файлы отсутствуют и что существует конфликтное обновление, которое в конечном итоге хочет видеть файлы удалены. Хорошая работа СВН.
должны
svn resolveне работает, по какой-то причине, вы можете сделать следующее:исходная ситуация: локальные файлы отсутствуют, обновление противоречивый.
$ svn st ! + C foo > local edit, incoming delete upon update ! + C bar > local edit, incoming delete upon updateвоссоздать конфликтующие файлы:
$ touch foo barесли конфликт касается каталогов, то замените
touchСmkdir.новая ситуация: локальные файлы, которые будут добавлены в репозиторий (да, правильно, svn, что бы вы ни говорили), обновление все еще конфликтует.
$ svn st A + C foo > local edit, incoming delete upon update A + C bar > local edit, incoming delete upon updateвернуть файлы в состояние svn любит их (это означает, что удалены):
$ svn revert foo barновая ситуация: локальные файлы не известны svn, обновление нет более противоречивые.
$ svn st ? foo ? barтеперь мы можем удалить файлы:
$ rm foo barесли конфликт касается каталогов, то замените
rmСrm -r.svn больше не жалуется:
$ svn stсделано.
Я только что получил эту же проблему, и я нашел, что
$ svn revert foo barрешена проблема.
svn resolve не работает для меня:
$ svn st ! + C foo > local edit, incoming delete upon update ! + C bar > local edit, incoming delete upon update $ svn resolve --accept working svn: Try 'svn help' for more info svn: Not enough arguments provided $ svn resolve --accept working . $ svn st ! + C foo > local edit, incoming delete upon update ! + C bar > local edit, incoming delete upon update $ svn resolve --accept working foo Resolved conflicted state of 'foo' $ svn st ! + foo ! + C bar > local edit, incoming delete upon update
Если вы не внесли никаких изменений в конфликтный каталог, вы также можете
rm -rf conflicts_in_here/а тоsvn up. По крайней мере, это сработало для меня.
таким образом, вы можете просто вернуть файл, который вы удалили, но помните, что если вы работаете над любым типом проекта с установленным файлом проекта (например, iOS), возврат файла добавит его в структуру системных папок, но не в структуру файлов проекта. дополнительные меры могут потребоваться, если вы находитесь в этом случае
эта проблема часто возникает, когда мы пытаемся слияние другая ветвь изменяется из неправильного каталога.
пример:
Branch2\Branch1_SubDir$ svn merge -rStart:End Branch1 ^^^^^^^^^^^^ Merging at wrong locationконфликт, который бросается на его выполнение:
Tree conflict on 'Branch1_SubDir' > local missing or deleted or moved away, incoming dir edit upon mergeи когда вы выберите q до выйти из разрешения, вы получаете статус:
M . ! C Branch1_SubDir > local missing or deleted or moved away, incoming dir edit upon merge ! C Branch1_AnotherSubDir > local missing or deleted or moved away, incoming dir edit upon mergeчто явно означает, что слияние содержит изменения, связанные с
Branch1_SubDirиBranch1_AnotherSubDir, и эти папки не удалось найти внутриBranch1_SubDir(очевидно, что каталог не может быть внутри себя).Как избежать этой проблемы на первом месте:
Branch2$ svn merge -rStart:End Branch1 ^^^^ Merging at root locationThe простое исправление для этого вопроса, который работал для меня:
svn revert -R .
Comments