svn实现文件/目录共享

1 svn实现文件/目录共享
 一、svn如何实现两个目录之间的共享呢?
  如下图:假设项目project1的构成需要用到project2的一个模块代码:project2/trunk/zhanghao/accessdata,如何简单地为project1提供这个组成模块,而不需要每个开发员都单独从project2中check out到自己的工作目录呢?

       ________________repos/_____________
       |                                 |
   project1/                        project2/
      |---trunk                          |--trunk
            |--zhanghao  <┈┈┈┈┈┈┐   |--zhanghao
            |--mycode                 └┈┈┈ |--accessdata
      |---tags                                       |---include
      |---branches                             |--deletedata

二、利用svn的属性svn:externals可简单实现共享效果。

  我们检出project1,并设置trunk的svn:externals属性:
  svn co http://www.scmbbs.com/repos/project1;
  cd project1/trunk;
  svn propset svn:externals "accessdata http://www.scmbbs.com/repos/project2/trunk/accessdata" zhanghao;

请注意:属性值"accessdata http://www.scmbbs.com/repos/project2/trunk/accessdata"由两个字段组成,第一个字段“accessdata”表示check out到本地时新文件夹名字,第二个字段URL指向要引用的源头地。如果漏设了一个字段,属性设置将会失败。

  属性设置完毕后,我们再来检出project1,发现trunk/zhanghao下多出了一个文件夹:accessdata,打开检查里面的内容,发现正是project2/trunk/zhanghao/accessdata里的内容。

另外,你可以对同一个目录设置多个svn:externals属性,以便在此目录下获得多个共享组件。如:
  svn propset svn:externals "accessdata   http://www.scmbbs.com/repos/project2/trunk/accessdata" zhanghao;
  svn propset svn:externals "deletedata   http://www.scmbbs.com/repos/project2/trunk/deletedata" zhanghao;
  这两条命令对project1/trunk/zhanghao目录设置了2个共享文件夹accessdata、deletedata。
更新project1/trunk/zhanghao时,文件夹结构如下:

    project1/
      |--trunk
            |--zhanghao
                 |--accessdata
                 |--deletedata

如果你对project2/trunk/zhanghao/acessdata文件夹有修改权限,则对project1下的acessdata的修改也会提交到project2中,实现真正的共享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue_Dream_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值