为什么"本地删除,更新时传入删除"目录存在冲突?

gza*_*zak 11 svn tree-conflict

这更像是一个假设的问题,但我一直想知道为什么这个案子被认为是冲突.如果我在本地删除了一个已经从存储库中删除的目录,为什么这不会像你期望的那样解决?我不知道哪个角落的案例会使冲突地位成为必要?

Igo*_*gor 9

我开始深入研究这个问题,我认为这可能是因为SVN并不完全确定这delete是一个简单的删除,还是实际上是move(a copy和a delete).从文档中可以看出:

因为Subversion中的移动被实现为复制操作,然后是删除操作,并且这两个操作在更新期间不能轻易地相互关联,所以所有Subversion都可以警告您关于本地修改文件的传入删除操作.此删除操作可能是移动的一部分,也可能是真正的删除操作.

所以听起来很安全,SVN警告你应该更新.当然,它可以忽略删除"冲突",只需复制新移动的文件夹,但我认为某些元数据可能会在本地丢失.

一个可能的解决方法是在本地还原您的更改并让传入更新处理删除.

  • 对于未来的读者:我在一个同事移动的文件上出现了冲突,后来我从旧位置删除了.所以我有这个,尽管文件既不在我的工作副本也不在那个位置的回购.然而,Sneakys建议只是`svn revert`文件,然后更新仍然解决了它,尽管操作对工作副本或回购没有任何明显的改变. (4认同)
  • @ homemade-jam"最简单"的方法就是恢复您的更改并让传入的删除同一目录. (3认同)
  • 好的.imho svn支持移动文件是非常残忍的. (2认同)