不,这不是 this 的副本。
虽然我通常习惯于在 SVN 中使用可视化工具,但我发现自己现在面临着想要迁移Repo/Parent/ChildX/ChildY
到Repo/ChildY
. 我收到以下错误,我只是在寻找我在这里缺少的东西。考虑刚刚安装的服务器(来自转储),除了 svn 没有其他可用的。
> svn 结帐 https://localhost/Repo svn: 'https://localhost/Repo'的选项: 200 OK (https://localhost) > svn move Repo/Parent/ChildX/ChildY Repo/ChildY svn:“回购”不是工作副本 svn:“回购”不存在 > svn 移动父新父 svn:'。' 不是工作目录 > svn move https://localhost/Repo/Parent NewParent svn:不支持在工作副本和存储库之间移动 > svn move https://localhost/Repo/Parent https://localhost/Repo/NewParent svn: 'https://localhost/Repo'的选项: 200 OK (https://localhost) > svn commit --message "试图让移动命令工作" svn: 'C:\SVNTest' 不是工作副本
我觉得有点奇怪,第一个命令(结帐)对我放在“回购”后面的任何东西给出了相同的响应,比如https://localhost/Repo/SomeNonExistingName
. 我确定我错过了一些东西。我发现参考资料说你不需要工作副本来移动,但是,我该如何移动?
上面的命令,无论是错误还是正常,都没有实际移动。我使用 VisualSVN Server,可以在线浏览 repo。
解决方案
下面接受的解决方案和其他答案有助于解决这个问题。对上面第一个命令的响应等于来自任何 Apache 服务器的常规响应。200 OK是 HTTP 响应。
使用 VisualSVN Server 时,默认安装在 https://hostname/svn
. 要签出,您需要在存储库名称前加上该路径的前缀。上面的第一个命令应该是:
> svn 结帐 https://localhost/svn/Repo 文件 1 文件2 ETC... 修订版 XXX
不幸的是,这个小问题,无论多么微不足道,都没有在任何地方提及。结帐后,从同一目录中,移动变得微不足道:
> svn 移动文件夹/子文件夹 NewFolder