当我做 asvn status .时,我得到这个:
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 rm ...
svn update .
所以现在,当我这样做时svn status .,我会收到这些树冲突消息。
我在这里找到了文档,但不知道如何根据文档“更新”它。
如何摆脱它们?
我认为我的工作副本与存储库同步。不知道为什么这些消息显示。据我所知,这些文件应该被删除并被删除。我试过了svn update .,svn revert .但当我这样做时我仍然收到此消息svn status .。
svn revert .
简洁版本:
$ 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。
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 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
完毕。