TortoiseSVN Switch与Relocate的区别

本文详细介绍了Subversion(SVN)中工作副本的切换与重定位操作,包括如何更新工作副本至同一版本库的不同URL,以及如何在版本库根URL变更时重新定位工作副本。文章还解释了操作的限制条件及选项参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

witch (sw): 更新工作副本至同一版本库中的不同 URL。
用法:  1、switch URL[@PEGREV] [PATH]
       2、switch --relocate FROM-PREFIX TO-PREFIX [PATH...]

  1、更新工作副本,与同一版本库中的新 URL 对应。其行为跟 “svn update” 很像,
     也是将工作副本切换到同一版本库中某个分支或者标签的方法。PEGREV 决定从
     哪个版本查找目标。

     如果使用了 “--force” 选项,在工作副本中未版本控制的障碍路径,不会自动
     导致失败。如果障碍路径与版本库中的对应路径类型相同(文件或目录),它将成
     为受版本控制的路径,但是内容不改变。它意味着障碍路径的子孙,也可能是障
     碍路径,同样会受版本控制。对于障碍路径中的文件,如果与版本库内的不同,
     将视为工作副本发生本地修改。版本库中的所有属性都应用于障碍路径。

     使用 “--set-depth” 选项设置此操作目标的工作副本之新深度。

     如果新 URL 与工作副本路径没有版本继承关系,Subversion 将会拒绝操作。选项
     '--ignore-ancestry' 可以禁止此检查。
 2、选项 “--relocate” 已经淘汰。它的句法等价于
     “svn relocate FROM-PREFIX TO-PREFIX [PATH]”。

  参见 “svn help update” 以获取报告执行动作的字符列表。

  样例:
    svn switch ^/branches/1.x-release
    svn switch --relocate http:// svn://
    svn switch --relocate http://www.example.com/repo/project \
                          svn://svn.example.com/repo/project
relocate: 重新定位工作副本,指向不同的版本库根 URL。
用法:  1. relocate FROM-PREFIX TO-PREFIX [PATH...]
       2. relocate TO-URL [PATH]

  改写工作副本 URL 元数据,以反映仅版本库根 URL 的改变。这用于仅版本库根
  URL 改变(例如方案或主机名称),但是工作副本内容仍旧与版本库对应的情况。

  1. FROM-PREFIX 和 TO-PREFIX 分别对应工作副本的旧 URL 与新 URL 开始子串
     (如果你喜欢,可以指定完整的 URL)。请使用 'svn info' 来确定当前工作
     副本的 URL。

  2. TO-URL 是用于 PATH 的(完整的)新版本库 URL。

  例如:
    svn relocate http:// svn:// project1 project2
    svn relocate http://www.example.com/repo/project \
                 svn://svn.example.com/repo/project

重定位relocate操作可能的原因:

a) 服务器的IP地址已更改

b) 协议已更改(比如从http://改为 https://)

c) 版本库在服务器的路径已更改

在TortoiseSVN的帮助说明中说明重定位是极少使用的操作,但对于在本地小型内网开发的,由于重装系统,服务器主机变动,重定位应用还是比较多的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值