Can';无法使用SVN解决树冲突

Can';无法使用SVN解决树冲突,svn,tree-conflict,Svn,Tree Conflict,我最近遇到了一个非常奇怪的颠覆行为 我刚刚将分支的本地副本与远程分支合并。一切都很顺利,但我有一个树冲突(本地删除,远程更新) 好的,我想,适当地修改了工作副本并运行“svn resolve--accept=working-R” Subversion告诉我它已经解决了我的问题,“svn st”不再显示任何问题。因此,我尝试提交,但svn告诉我,其中一个内部文件夹(在我的冲突文件夹中)已过期,并建议svn更新,但这使文件夹再次发生冲突 我该怎么做才能摆脱这个visious循环?您可以使用svn r

我最近遇到了一个非常奇怪的颠覆行为

我刚刚将分支的本地副本与远程分支合并。一切都很顺利,但我有一个树冲突(本地删除,远程更新)

好的,我想,适当地修改了工作副本并运行“svn resolve--accept=working-R”

Subversion告诉我它已经解决了我的问题,“svn st”不再显示任何问题。因此,我尝试提交,但svn告诉我,其中一个内部文件夹(在我的冲突文件夹中)已过期,并建议svn更新,但这使文件夹再次发生冲突


我该怎么做才能摆脱这个visious循环?

您可以使用svn resolve命令以外的其他方法:

  • 创建冲突文件的修补程序。(或使用svn导出备份冲突文件夹的版本…)
  • 更新您的存储库(svn更新)
  • 应用以前完成的修补程序(或用备份替换冲突的文件/文件夹)
  • 提交更改(svn提交)

  • 这可能有帮助,也可能没有帮助,但有时“svn清理”会修复奇怪的元数据问题。如果您签出一份干净的工作副本,那么干净副本是否也有相同的问题?如果是这样的话,那么前面的答案听起来像是朝着正确的方向迈出了一步

    合并时,您可能没有更新文件夹,或者在合并之前某个地方发生了冲突。要修复此问题,您必须将主干(目标文件夹)恢复到以前的版本。然后对该文件夹运行清理。然后在分支文件夹(源文件夹)上运行清理。然后再次更新这两个文件夹。如果在任何工作流中都有红色的行,则需要首先还原这些文件,然后将它们置于所需的状态。然后更新文件夹(是,再次更新)。最后再次执行合并

    ~/sandbox/jabira > svn resolve  --accept=theirs-full testClient/
    svn: warning: Tree conflicts can only be resolved to 'working' state; 'testClient' not resolved
    
    ~/sandbox/jabira  > svn resolve  --accept=working testClient/
    Resolved conflicted state of 'testClient'
    

    希望有此帮助

    这就是我放弃所有本地更改并使用服务器存储库中的文件的原因:

    svn update --accept theirs-full
    
    svn resolve --accept theirs-full <pathname>
    
    恢复正常,无错误:

    svn update
    

    这就是我最终得到的结果:(当svn不能正常工作时,这意味着.svn文件夹被弄乱了。svn cleanup命令可以帮助我,但它永远不会对我起作用,所以我每次都使用这种方法…(悲哀)。如果它起作用,别忘了将这篇文章标记为“已接受答案”(否则这个问题仍然无法回答)啊,谢谢,我只是忘了清理…需要试试这个。谢谢它的帮助!我想很容易误解svn发出的警告消息,svn被搞砸了。实际上,这是一个在这种情况下该怎么做的说明。可能想查看答案并接受不同的答案
    svn revert -R .
    
    svn update