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

如何修复设置不正确的svn回购

如何修复设置不正确的svn回购,svn,branch,trunk,Svn,Branch,Trunk,我有一个svn repo,它是在没有推荐的文件夹(/trunk,/branchs,/tags)的情况下设置的(不是由我自己设置的),最初还可以,但我们遇到了一些问题,这些问题确实应该在功能分支中修复,并推回到主干 Web服务器上有一个远程分支,它从svn获取更新(因此,如果出现紧急情况,我们也可以在那里进行更改,并返回到repo) 如果我们能将主干中应该包含的所有内容移动到/trunk文件夹中,那就太好了,但我对此很谨慎,因为我认为这会影响Web服务器的设置 如果我更改repo,并将所有代码移动

我有一个svn repo,它是在没有推荐的文件夹(
/trunk
/branchs
/tags
)的情况下设置的(不是由我自己设置的),最初还可以,但我们遇到了一些问题,这些问题确实应该在功能分支中修复,并推回到主干

Web服务器上有一个远程分支,它从svn获取更新(因此,如果出现紧急情况,我们也可以在那里进行更改,并返回到repo)

如果我们能将主干中应该包含的所有内容移动到
/trunk
文件夹中,那就太好了,但我对此很谨慎,因为我认为这会影响Web服务器的设置


如果我更改repo,并将所有代码移动到适当的文件夹中,是否有办法将远程版本重新指向
/trunk
文件夹而不是
/
?(如果它从
标签
而不是
trunk
中拉出,那就太好了,但是…小步骤)

假设Web服务器充当SVN服务器的客户端并进行更新以获取站点的最新版本,那么在对服务器上的结构进行更改后,您将执行以下操作:

svn switch --relocate SVN_URL/ SVN_URL/trunk

然后,这会将Web服务器上的签出副本更新为新路径,一切都会正常进行。

酷,这正是我认为可行的(我不想在没有至少一点确认的情况下这样做…),但我在
svn switch
上找到的所有文档似乎都是关于更改整个repo的位置,而不仅仅是更改从中提取的文件夹。
svn switch
有两种操作模式。一种是在存储库中的分支之间切换,这将导致更新版本文件。另一种是r、 使用
--relocate
标志,用于告知工作副本其附加的URL已更改。如果可以使用,如本例中所示,用于重新排列存储库。或者,可以在整个存储库移动时使用,例如从一台服务器移到另一台服务器,或者服务器名称更改时使用。