TortoiseSVN Switch与Relocate的区别

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

你可能感兴趣的:(svn)