问题描述
当一个svn switch <target>
,我知道它将工作目录切换到目标路径.
When one does svn switch <source> <target>
, I understand that it switches the working directory to target path.
我想了解 --relocate 的用途.我认为这仅在存储库的 url 已更改并且想要更新工作副本 url 以指向新的 svn 服务器位置时使用.但似乎Relocate 只能更改URL 的存储库部分
.
I would like to understand what --relocate is used for. I thought this was only used when the url of repository had changed and one wanted to update working copy url to point to new svn server location. But it seems Relocate can only change the repository part of an URL
.
所以我的问题是,--relocate 开关有什么作用?特别是,是否可以用于将与以前版本相比有很多差异的供应商分支集成到用户分支,即
So my question is, what does the --relocate switch do? In particular, can it be used to integrate to user branch a vendor branch that has many differences since previous version, ie
svn co path\to\vendor\lib
svn --relocate lib url\path\to\my\branch
svn commit -m "在不使用 cp 的情况下使用供应商代码更新了我的分支,这样_我认为_可以删除新版本供应商库中不存在的文件夹和文件.
我做对了吗?
推荐答案
SVN Relocate 适用于那些讨厌的管理员将路径移动到您的存储库的情况.
SVN Relocate is for when those pesky admins move the path to your repository.
例如原创:
http://mydomain.com/svn/repo/Project/MyApplication/trunk
管理员感到无聊并将其更改为:
Admin gets bored and changes it to:
http://mydomain.com/svn/MyApplication/trunk
您需要执行 svn relocate 来告诉 svn 您的项目路径已更改.
You would need to do svn relocate to tell svn that the path to your project has changed.
至于您提供的示例,它不能用于重新集成分支,命令是让 svn 客户端将其所有路径更新到存储库的新位置.您需要 svn 合并它们.
As for your provided example it can not be used to reintegrate branches, the command is to let the svn client update all of its paths to the new location of your repository. You need to svn merge them.
这篇关于svn switch ,--relocate 做什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!