TortoiseSVN branch/tag switch Relocate的区别

TortoiseSVN branch/tag switch Relocate的区别
http://xinzero.com/tortoisesvn-branchtag-switch-relocate-difference.html

先明确概念:

工作副本:就是本地的代码的目录

工作目录:就是SVN服务器端的与本地工作副本相对应的目录。

Branch/Tag:是将当前工作目录保存一个类似快照的东西到版本库,此版本一般是发行版(Release)或者里程碑意义的,它并不会将当前工作副本的改变上传。在TortoiseSVN中Branch/Tag的目录路径需要指令文件夹的名称。branch_tag_hint switch是转换当前工作副本对应的工作目录,一般是从trunk工作目录转向tag工作目录,或者从tag转回来,switch的类似update,将switch的目标工作目录的文件更新到本地,一般会产生很多冲突。

Relocate是当代码仓库的访问路径(服务器的计算机名称修改,或IP地址变更,URL变更),而此时已检出修改的工作副本(working copy)没有变更,若此时直接提交(commit),肯定不能成功,因为此提交地址对应的svn服务器不存在了。TortoiseSVN为我们提供了重定位工作副本的功能(TortoiseSVN → Relocate),此指令扫描.svn文件夹中的所有条目,改变条目的url(服务器地址)为新输入的地址。

重定位操作可能的原因:

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

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

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

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

猜你喜欢

转载自nethub2.iteye.com/blog/1820999