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_Github_Refactoring - Fatal编程技术网

面临svn问题:复制操作仅在分支级别受支持

面临svn问题:复制操作仅在分支级别受支持,svn,github,refactoring,Svn,Github,Refactoring,我正在使用svn处理一个托管在GitHub上的项目,并且面临一个奇怪的问题。 每当我重命名包并尝试提交src目录(或高于重命名目录的任何目录)时,我都会收到一条消息: “svn:复制操作仅在分支级别受支持” 示例: 我有一个包com.mydomain.projectname.some.package 当我将其重命名为com.mydomain.projectname.some.other.package并尝试提交时,我收到此消息 该项目位于GitHub repo的主分支中,我在使用svn时签出了t

我正在使用svn处理一个托管在GitHub上的项目,并且面临一个奇怪的问题。 每当我重命名包并尝试提交src目录(或高于重命名目录的任何目录)时,我都会收到一条消息: “svn:复制操作仅在分支级别受支持”

示例:
我有一个包
com.mydomain.projectname.some.package

当我将其重命名为
com.mydomain.projectname.some.other.package
并尝试提交时,我收到此消息


该项目位于GitHub repo的主分支中,我在使用svn时签出了trunk。我尝试创建一个相同的分支并重复这个过程,但仍然没有成功。我这里缺少一些基本的svn规则吗?

不,这是(当前)Github的Git svn桥的局限性-您在后端使用Git repo

一个不保留历史的解决方法是将文件复制到新名称,然后
svn删除[oldname]
svn添加[newname]


从共享源代码存储库的角度来看,这是可怕的,因为如果其他分支对这些文件进行了自己的更改,那么它们就不会再正确地合并。但它具有实际工作的优势,如果您是唯一处理相关文件的人,可能足以满足您的需要。

我认为,当您移动或重命名文件夹或文件,并进行其他更改(如添加代码)时,会发生这种情况,因此,另一种解决方法是:

  • 还原所有更改(如果需要,可以备份当前更改)
  • 只需提交已移动或重命名的文件夹或文件,无需再次更改
  • 或者(如果您进行了备份,请恢复备份),然后再次提交

  • 摘要:组中不支持移动/重命名其他更改的文件/文件夹。

    @JitB-您可以。在SVN迁移到Mercurial之后,更为顺利的方法是:学习Hg,使用BitBucket作为代码宿主面对同样的问题,@lazybacker您是否有任何参考资料来阅读更多关于此限制的内容?只需使用类似xp-dev.com的东西作为普通subversion宿主