SVN导入外部项目到本项目版本库
为什么需要导入外部项目到本项目版本库
在项目开发的过程中我们很可能会遇到这种情况:我们手头开发的项目可能要用到其他项目的内容。
最容易想到的办法是从其他项目的版本库里取出那部分内容,拷贝并添加到本项目的版本库中。但如果我们要令其他项目拿过来的那部分内容保持最新,就是一个非常繁琐的工作了。
有没有高效的办法
如果本项目的版本库自动取得被引用的外部项目的更新,例如每次”svn update”或者”svn checkout”都可以去外部项目的版本库取得最新的内容,那实在是非常方便。我们可以通过Subversion的外部定义功能来实现这个目的。外部定义是一组本地文件路径和URL的映射,使svn可以取得外部版本库的文件到本地路径。
主要要用到以下几个svn指令
svn propset svn:externals PROJECT_NAME svn propedit svn:externals PROJECT_NAME svn propget svn:externals PROJECT_NAME
前两个指令都可以用来设置对应PROJECT_NAME的svn:externals属性,一般推荐用第二个。svn:externals的属性列表指定项目中模块的相对路径,版本信息和对应的URL。
例如:
third-party/foo svn://example.com/repos/foo third-party/bar -r 1234 svn://example.com/repos/bar
Subversion 1.5及以上的版本也支持以下的格式:
http://example.com/foo third-party/foo -r 1234 http://example.com/bar third-party/bar
第三个指令则可以查询项目的外部定义的属性列表。
近期评论