使用 Tortoise SVN 创建 Externals 外部引用目录

转自:https://blog.csdn.net/mandytong/article/details/48270205

在使用 SVN 的时候,偶尔会遇到这样的场景:

有一份公共代码或数据需要所有分支共享,如果存储在普通的目录下,切分支之后各个分支该目录可能会出现差异,为了避免这种差异,应该使用 SVN 的 externals 属性,确保在任意分支下的更改在所有分支下都能够生效。

这种场景其实很常见,例如有好几个 project 都使用同一份 framework 的代码,且需要同步更新,这时候就得将 framework 设置为外部引用,只需要在一个地方修改,所有 project 的 framework 都能更新。

具体可以参考 svn 的说明:http://www.subversion.org.cn/svnbook/1.2/svn.advanced.externals.html

对于 Tortoise SVN 这个图形化客户端,应用 externals 外部引用属性非常方便,下面用一个例子来说明吧。

假设有一份公共的数据需要所有分支共享,这时候应该创建一个特殊的分支用于存放这些公共数据,例如 data,它的地址为

http://svn.example.net/project/data

在这个分支下创建存放公共数据的目录,例如 public_data,然后将需要共享的公共数据存放到里面。

这时候回到主干分支,因为后续切出的分支都死从主干衍生出来的,应该在主干做相应改动。假设主干的地址是

http://svn.example.net/project/trunk

它需要在 bin/data 下访问存放公共数据的引用。

这时候,需要在 bin/data 对应的本地目录上点击鼠标右键,选择 TortoiseSVN->Properties(属性),如下所示:

使用 <wbr>Tortoise <wbr>SVN <wbr>创建 <wbr>Externals <wbr>外部引用目录

在出现的对话框中,找到右下角的 New(新建)... 按钮,在点击出现的菜单中选择 Externals(外部)
使用 <wbr>Tortoise <wbr>SVN <wbr>创建 <wbr>Externals <wbr>外部引用目录


在弹出的 svn:externals 对话框中,点击左下角的 New(新建)... 按钮新建外部引用目录,这时会弹出 Edit External(修改外部) 对话框,在 Local path(本地路径) 编辑框中输入生成的目录名,可以是 public_data 或其他,在 URL 中输入要引用的外部目录地址,在这个例子中,是 http://svn.example.net/project/data/public_data。完成后,一路 OK(确定) 关闭所有对话框。

使用 <wbr>Tortoise <wbr>SVN <wbr>创建 <wbr>Externals <wbr>外部引用目录

回到 bin/data 对应的本地目录,点击鼠标右键,选择 SVN Update(SVN 更新) 更新代码,SVN 会自动创建一个刚才在 Local path 中填入对应名称的目录,其下的数据就是刚填入的 URL 指向的外部引用内容。

一切搞定~赶快用 SVN Commit(SVN 提交)... 提交修改吧~!以后从主干切出来的分支就都共用一份 public_data 了!其他分支的修改类似。

猜你喜欢

转载自blog.csdn.net/liuyuhua0066/article/details/85690816