首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决“本地编辑,更新时传入删除”消息

如何解决“本地编辑,更新时传入删除”消息
EN

Stack Overflow用户
提问于 2010-12-01 04:03:03
回答 7查看 165K关注 0票数 304

当我执行svn status .时,我会得到这样的结果:

代码语言:javascript
运行
复制
!     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 .时仍然收到此消息。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-12-19 02:20:07

简短版本:

代码语言:javascript
运行
复制
$ 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

注意:同样的过程也适用于以下情况:

代码语言:javascript
运行
复制
$ svn st
!     C foo
      >   local delete, incoming delete upon update
!     C bar
      >   local delete, incoming delete upon update

长版本:

当您编辑一个文件,而其他人先删除该文件并提交时,就会发生这种情况。作为一个好的svn公民,您应该在提交之前进行更新。现在你有了一个冲突。意识到删除文件是正确的做法后,您可以从工作副本中删除该文件。svn现在不是内容,而是抱怨本地文件丢失,并且存在冲突的更新,最终希望看到文件被删除。干得好svn。

无论出于何种原因,如果svn resolve不能工作,您可以执行以下操作:

初始情况:本地文件丢失,更新冲突。

代码语言:javascript
运行
复制
$ svn st
!  +  C foo
      >   local edit, incoming delete upon update
!  +  C bar
      >   local edit, incoming delete upon update

重新创建冲突的文件:

代码语言:javascript
运行
复制
$ touch foo bar

如果冲突是关于目录的,那么用mkdir替换touch

新情况:要添加到存储库的本地文件(对,svn,无论您说什么),更新仍然冲突。

代码语言:javascript
运行
复制
$ svn st
A  +  C foo
      >   local edit, incoming delete upon update
A  +  C bar
      >   local edit, incoming delete upon update

将文件恢复到svn喜欢的状态(即删除):

代码语言:javascript
运行
复制
$ svn revert foo bar

新情况:本地文件对svn未知,更新不再冲突。

代码语言:javascript
运行
复制
$ svn st
?       foo
?       bar

现在我们可以删除文件了:

代码语言:javascript
运行
复制
$ rm foo bar

如果冲突是关于目录的,那么用rm -r替换rm

svn不再抱怨:

代码语言:javascript
运行
复制
$ svn st

好了。

票数 445
EN

Stack Overflow用户

发布于 2010-12-01 04:43:26

尝试使用以下命令解决冲突

代码语言:javascript
运行
复制
svn resolve --accept=working PATH
票数 161
EN

Stack Overflow用户

发布于 2011-04-14 07:12:14

我也收到了同样的问题,我发现

代码语言:javascript
运行
复制
$ svn revert foo bar

解决了这个问题。

svn resolve对我不起作用:

代码语言:javascript
运行
复制
$ 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
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4317973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档