学会使用svn:externals

本文介绍了如何使用svn:externals属性来管理和同步项目中的外部依赖,如Zend Framework。通过设置svn:externals,可以将远程仓库的代码映射到本地目录,简化更新和版本控制操作。文中通过实例讲解了设置、更新和删除svn:externals的过程,并强调了正确操作的重要性,以避免误删其他项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在与人合作的项目中使用了Zend Framework。为保证项目稳定性和方便发布,合作者把框架导出(export)到他的版本库然后提交(check in)。因为ZF框架的文件大量频繁的更新,他放弃了从框架版本库导出(export)的本地版本库同步到版本控制服务器上的办法,每次更新框架的时候都从版本库中删除框架然后重新添加,

这在我看来是在是低效的,特别是考虑到这会让他从开发分支合并到产品分支非常困难。(删除并重新添加目录会在一定成都影响合并)我想会有更好的办法。

曾经听说过svn:externals属性,但是从来没有使用过。既然有这个属性,肯定有一个适合运用他的条件。问题是SVN电子书中 svn:externals说明文档 部分并没有说明这个属性该怎样设置,而且我发现很多”怎么做”条目都省去了一个或多个重要的细节。通过一些实验、排除一些自己的错误,最后我终于知道怎么弄了。因此我现在来分享这个处理过程,希望大家也能够从这次经历中得到经验。

事实上相当容易,假设你的你的项目文件系统结构想下面这样子:

project/    branch/        production/    tag/    trunk/
  • 在trunk目录下执行如下命令:
    svn propedit svn:externals .
  • 运行命令后会调用编辑器编辑属性。在编辑器打开的文件中,每行代表一个你要从那里取得代码的不同的外部svn仓库。一行中的第一段代表你想让取回代码存放的目录,最后一部分是取得代码的svn版本库URL。中间你还可以用一些可选配置参数来决定要取回的版本。以下是一些例子:
    • 取得Zend Framework仓库的当前版本(head)::
      framework http://framework.zend.com/svn/framework/trunk
    • 取得Zend Framework仓库的版本2616:
      framework -r2616 http://framework.zend.com/svn/framework/trunk
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值