使用 Tortoise SVN 创建 Ext…
2016-12-25 12:26
357 查看
原文地址:使用 Tortoise SVN 创建 Externals 外部引用目录作者:奋斗的点心要专注在使用 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(属性),如下所示:
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
在出现的对话框中,找到右下角的 New(新建)... 按钮,在点击出现的菜单中选择 Externals(外部)。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
在弹出的 svn:externals
对话框中,点击左下角的 New(新建)... 按钮新建外部引用目录,这时会弹出
Edit External(修改外部) 对话框,在 Local
path(本地路径) 编辑框中输入生成的目录名,可以是 public_data 或其他,在
URL
中输入要引用的外部目录地址,在这个例子中,是 http://svn.example.net/project/data/public_data。完成后,一路
OK(确定) 关闭所有对话框。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
回到 bin/data 对应的本地目录,点击鼠标右键,选择 SVN Update(SVN 更新)
更新代码,SVN 会自动创建一个刚才在 Local path 中填入对应名称的目录,其下的数据就是刚填入的 URL
指向的外部引用内容。
一切搞定~赶快用 SVN Commit(SVN 提交)... 提交修改吧~!以后从主干切出来的分支就都共用一份
public_data 了!其他分支的修改类似。
4000
有一份公共代码或数据需要所有分支共享,如果存储在普通的目录下,切分支之后各个分支该目录可能会出现差异,为了避免这种差异,应该使用
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(属性),如下所示:
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
在出现的对话框中,找到右下角的 New(新建)... 按钮,在点击出现的菜单中选择 Externals(外部)。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
在弹出的 svn:externals
对话框中,点击左下角的 New(新建)... 按钮新建外部引用目录,这时会弹出
Edit External(修改外部) 对话框,在 Local
path(本地路径) 编辑框中输入生成的目录名,可以是 public_data 或其他,在
URL
中输入要引用的外部目录地址,在这个例子中,是 http://svn.example.net/project/data/public_data。完成后,一路
OK(确定) 关闭所有对话框。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
回到 bin/data 对应的本地目录,点击鼠标右键,选择 SVN Update(SVN 更新)
更新代码,SVN 会自动创建一个刚才在 Local path 中填入对应名称的目录,其下的数据就是刚填入的 URL
指向的外部引用内容。
一切搞定~赶快用 SVN Commit(SVN 提交)... 提交修改吧~!以后从主干切出来的分支就都共用一份
public_data 了!其他分支的修改类似。
4000
相关文章推荐
- TortoiseSVN 日常操作指南
- svn项目创建说明¶
- SVN创建完成后,报 Error No repository found 'svn://localhost'等的错误原因
- 使用 Apache OpenJPA 开发 EJB 3.0…
- 创建线程, 线程属性, stacksize …
- Java 使用JXL创建Excel
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- 创建和管理 worker
- SVN的“local edit, inco…
- 【转】linux svn 切换用户
- vs2005 创建c++项目
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- android 快速创建一个新的线程
- SVN创建完成后,报 Error No repository found 'svn://localhost'等的错误原因
- 【转】linux svn 切换用户
- Apache+Subversion+TortoiseSVN版本库创建
- 迁移TortoiseSVN&CollabNet Subversion Edge笔记
- c# Winform创建安装程序(程序打包…
- 如何在Mac Xcode下使用SVN(部分)
- 【转】Tomcat 6.0下创建虚拟…