svn的外部定义在项目中的应用
2010-09-15 19:59
302 查看
Q1:当前工作拷贝需要引进另外一个版本库的内容,如何保证一个checkout就可以获得所有的内容(当前版本库+另外的版本库)
此问题在实际中经常遇到
Q2:一个特大的项目,trunk上需要挂载n个不同的版本库,每个版本库由不同team维护、开发、提交。对于scm来说,一个team权限
仅在一个版本库上,scm可以管理整个trunk
幸运的是,subverion已经给我们提供了一个很好的工具“外部定义 ”,来方便做项目。
外部定义是一个本地路径到版本库url的一个映射。使用svn:externals来定义外部属性。用svn propset和svn propedit来创建、修改
外部定义的属性。具体来说,外部属性是一个列表,由“子目录和有效的版本库URL”组成。
譬如:
SS_MGWSMPERM https://svne1.access.nokiasiemensnetworks.com/svnroot/SS_MGWSMPERM/trunk/SS_MGWSMPERM/ SS_MGWTKFILE https://svne1.access.nokiasiemensnetworks.com/svnroot/SS_MGWTKFILE/trunk/SS_MGWTKFILE/ SS_MGWRKFILE https://svne1.access.nokiasiemensnetworks.com/svnroot/SS_MGWRKFILE/trunk/SS_MGWRKFILE/
所以,换句话说,只要把这些外部版本库“外部定义”到你的父版本库。当你checkout父版本库的时候,不仅父版本库的内容会checkout,这些“外部定义”的版本库的内容也会一并checkout到你的工作目录。
如果这样的外部定义的版本库数量达到一定的级别,譬如对于50个,你就会体会到各中妙处了。
譬如:
[xiaocowa@hzling03 atcamgw-main]$ svn co http://svn.example.cn/repos/calc A cal
A cal/makefile
A cal/readme.txt
Fetching external item into 'cal/third-party/sounds'
A cal/third-party/sounds/1.txt
A cal/third-party/sounds/2.txt
A cal/third-party/sounds/3.txt
Updated external to revision 361.
Fetching external item into 'cal/third-party/skins'
A cal/third-party/skins/1.ski
A cal/third-party/skins/2.ski
A cal/third-party/skins/3.ski
Updated external to revision 5285.
#1.svn propset svn:externals -F file . -> 2.svn up -> 3.svn commit
其中file中内容:
cal/third-party/sounds http://sound.bank.cn/repos
cal/third-party/skins http://skin.bank.cn/repos
#svn propget svn:externals . //路径可以是目录或版本库url
此问题在实际中经常遇到
Q2:一个特大的项目,trunk上需要挂载n个不同的版本库,每个版本库由不同team维护、开发、提交。对于scm来说,一个team权限
仅在一个版本库上,scm可以管理整个trunk
幸运的是,subverion已经给我们提供了一个很好的工具“外部定义 ”,来方便做项目。
外部定义是一个本地路径到版本库url的一个映射。使用svn:externals来定义外部属性。用svn propset和svn propedit来创建、修改
外部定义的属性。具体来说,外部属性是一个列表,由“子目录和有效的版本库URL”组成。
譬如:
SS_MGWSMPERM https://svne1.access.nokiasiemensnetworks.com/svnroot/SS_MGWSMPERM/trunk/SS_MGWSMPERM/ SS_MGWTKFILE https://svne1.access.nokiasiemensnetworks.com/svnroot/SS_MGWTKFILE/trunk/SS_MGWTKFILE/ SS_MGWRKFILE https://svne1.access.nokiasiemensnetworks.com/svnroot/SS_MGWRKFILE/trunk/SS_MGWRKFILE/
所以,换句话说,只要把这些外部版本库“外部定义”到你的父版本库。当你checkout父版本库的时候,不仅父版本库的内容会checkout,这些“外部定义”的版本库的内容也会一并checkout到你的工作目录。
如果这样的外部定义的版本库数量达到一定的级别,譬如对于50个,你就会体会到各中妙处了。
譬如:
[xiaocowa@hzling03 atcamgw-main]$ svn co http://svn.example.cn/repos/calc A cal
A cal/makefile
A cal/readme.txt
Fetching external item into 'cal/third-party/sounds'
A cal/third-party/sounds/1.txt
A cal/third-party/sounds/2.txt
A cal/third-party/sounds/3.txt
Updated external to revision 361.
Fetching external item into 'cal/third-party/skins'
A cal/third-party/skins/1.ski
A cal/third-party/skins/2.ski
A cal/third-party/skins/3.ski
Updated external to revision 5285.
#1.svn propset svn:externals -F file . -> 2.svn up -> 3.svn commit
其中file中内容:
cal/third-party/sounds http://sound.bank.cn/repos
cal/third-party/skins http://skin.bank.cn/repos
#svn propget svn:externals . //路径可以是目录或版本库url
相关文章推荐
- 流式传输 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 。 流式传输定义很广泛,现在主要指通过网络传送流媒体(如视频、音频)的技术总称。其特定含义为通过Internet 将影视节目传
- svn新建一个tag版本管理已经发布的项目应用版本
- 在项目中应用SVN
- svn应用到Eclipse中的Java项目
- Vs2012在Linux开发中的应用(5):项目属性的定义
- 使用SVN和VS2013新建web应用项目工程简易操作流程
- svn外部定义
- @value的用法,在我看的项目中的应用是在外部配置URL
- svn,使用外部链接,让某些文件引用自其它项目的方法。SVN: svn:externals
- nc uap应用外部项目的jar文件报错
- Jenkins -- svn引用外部项目
- C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系
- svn 外部引用别的项目文件
- SVN和Git的比较,已经项目中的实际应用!
- Vs2012在Linux开发中的应用(5):项目属性的定义
- SVN 关键字 的使用 (应用在项目文件中 - 开头的注释)
- 项目应用中JQUERY+CSS
- 思维导图在项目管理中的应用
- java枚举在android项目应用
- 在 Web 项目中应用 Apache Shiro