当我执行 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 .
时,我收到这些树冲突消息。
我找到了文档 here但不确定如何根据文档“合并”它。
如何摆脱它们?
我认为我的工作副本与存储库同步。不知道为什么会显示这些消息。这些文件应该被删除,并且据我所知到处都被删除。我尝试了 svn update .
和 svn revert .
,但当我执行 svn status .
时,我仍然收到此消息。
最佳答案
简短版本:
$ 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。
如果svn解析
不起作用,无论出于何种原因,您可以执行以下操作:
初始情况:本地文件丢失,更新冲突。
$ 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 - 如何解决 "local edit, incoming delete upon update"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4317973/