Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN合并移动的源代码文件_Svn_Merge - Fatal编程技术网

SVN合并移动的源代码文件

SVN合并移动的源代码文件,svn,merge,Svn,Merge,我觉得我拥有世界上最简单的SVN用例: 我在SVN的trunk中有一个文件,Test.java I分支主干至开发分支 我将Test.java移动到trunk中的com/mycompany文件夹中 我在dev分支中更改Test.java 我将开发分支合并到主干 树冲突结果 为什么,为什么,SVN不能处理这个?我们做错什么了吗?这感觉应该很容易,但我公司的每一位工程师都受到了阻碍 在这里寻找面向SVN的答案(不是“移动到git”等)。在SVN中,移动是删除和添加。当您合并到分支中时,它将执行移动

我觉得我拥有世界上最简单的SVN用例:

  • 我在SVN的
    trunk
    中有一个文件,
    Test.java
  • I分支
    主干
    开发分支
  • 我将
    Test.java
    移动到
    trunk
    中的
    com/mycompany
    文件夹中
  • 我在
    dev分支
    中更改
    Test.java
  • 我将
    开发分支
    合并到
    主干
  • 树冲突结果
为什么,为什么,SVN不能处理这个?我们做错什么了吗?这感觉应该很容易,但我公司的每一位工程师都受到了阻碍


在这里寻找面向SVN的答案(不是“移动到git”等)。

在SVN中,移动是删除和添加。当您合并到分支中时,它将执行移动的添加部分,但由于冲突,它无法执行删除。您现在必须通过以下方式手动解决冲突:

  • Test.java
    复制到
    com/mycompany/Test.java
    ,覆盖旧的。这将解决与该文件的冲突
  • 从旧位置删除
    Test.java
    文件。这是手动执行更改集删除部分的方法,SVN在执行合并时无法执行。使用
    svn delete Test.java
    命令
  • 使用
    SVN resolve--accept working告诉SVN冲突已解决,并且您的工作目录正确。
    末尾的点表示当前目录
  • 告诉SVN,
    Test.java
    文件的冲突也通过
    SVN resolve--accept working Test.java

  • 然后,您可以提交合并的版本,并恢复与存储库的同步。

    在执行合并之前,请尝试在开发分支上执行SVN更新。我正在使用以下符号将开发分支合并到主干中:开发分支的SVN合并url-r rev1:rev2。尝试执行SVN更新,然后使用更高的修订号作为rev1。为什么会有帮助?我正在把树枝并入树干。分支是一个远程URL,因此根据定义它应该是最新的。我唯一拥有的本地文件夹是trunk,在执行合并之前,我确保它是最新的。我认为@GilbertLeBlanc的意思是首先将trunk合并到branch,这听起来与刚才的问题完全相同。这是一位工程师今天在我们的对话中指出的。这是不幸的。这个问题当然不是难以解决的。svn中是否有计划支持真正的svn移动,其实现是先删除,然后添加?这是没有希望的。来自svn文档:“一个共同的愿望是重构源代码,特别是在基于Java的软件项目中。文件和目录被随意移动和重命名,通常会对项目中的每个人造成极大的干扰。使用分支听起来很合适,不是吗?只需创建一个分支,然后将分支合并回主干,对吗?唉,这个场景目前效果不太好,被认为是Subversion当前的弱点之一。“实际上,
    mv
    cp
    rm