首先大家可以看下SVN的文件夹链接太强大了!(目录链接,目录映射,svn:externals),我就是看了这篇文章才敢大刀阔斧的把项目里的外链修改成正确的链接。

问题:

我们的项目里,服务器脚本工程svn地址为:svn://server/script;配置文件地址为:svn://server/cfg。都是独立的仓库。有一天,对外发布人员觉得每次都Update两次很烦,说能否把类似这种目录都放在一个仓库里,只需要Update一次就可以了。

是否所有资源、代码都用一个仓库就ok了呢?千万不要这么做,因为
    svn的效率很低!

svn在管理代码这种文本文件(而且相比美术资源体积不大,文件不算多)的时候,下载、上传、查上传log速度还是可以接受的。我们已经做了多年的仓库依然能应付过来。

但是管理二进制文件的时候,速度实在是慢的令人发指,角色、场景这种容量、文件数比较夸张的目录,完全下载一次甚至可以用掉4个小时。随着时间流逝,历史记录越来越长,下载速度就越来越难以容忍了。

解决方案:

 把不同种类的资源放在不同的仓库里,具体怎么放可以由有经验的资源管理人员安排。然后,建立一个资源主干仓库。里面用文件夹链接的形式,存放各种资源。(毫无疑问,我们的项目就是这样安排的。程序目录内,外链了数据仓库,美术资源仓库)

资源管理员一旦设置好svn:externals属性之后,对用户来说,上传、下载都没有区别,就好像文件夹真的在主干仓库里一样。

等过了一段时间,例如半年,某一种资源太多需要清理的时候。管理员把现有资源干净的拷贝出来到新仓库(或者新目录),例如cha目录下所有文件拷贝到cha2目录,只要最后的结果文件不要svn信息。然后修改svn文件夹链接的地址。
    修改好后,用户直接使用就ok了。达到了不影响其他人员的同时优化svn速度的目的。

(仅试验过,还没有在项目里实用,最后一步用户更新时可能会有冲突)

---------------------------------------------------------------------------------------------------------------------

ps:除了红色字体是我添加的之外,上文都是链接博客内的原文。

我现在遇到的问题是,程序目录内的外链,链接的是拷贝之前的外链。现在需要修改成正确版本的外链地址。(想到要偷摸的悄不作声的修改,心里激动的要死咯)

首先在SVN的browser窗口内定位到需要修改的外链的父目录。

右键,选择Show Properties.

在打开的properties窗口内,会看到svn:externals。选中后,双击就可以打开path,URL面板。在这个面板内修改成正确的URL,点击ok,并提交即可。

最后,说下,亲测,有效。

SVN的文件夹链接(目录链接,目录映射,svn:externals)的更多相关文章

  1. Linux下svn提交文件后自动同步更新到网站目录

    有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkou ...

  2. Linux ln命令 - 建立文件/目录链接

    转自Linux ln命令 - 建立文件/目录链接 1. 使用方式:ln [option] source_file dist_file                     -f 建立时,将同档案名删 ...

  3. WINDOWS 的 MKLINK : 硬链接,符号链接 : 文件符号链接, 目录符号链接 : 目录联接

    玩转WIN7的MKLINK 引言: 换了新电脑,终于再次使用上啦WIN7 ,经过一个周每天重装N次系统,... ... ... ... 在xp系统下,junction命令要用微软开发的小程序 junc ...

  4. Linux的硬链接为何不能链接目录

    Linux中的目录文件是特殊的文件,其中的数据是一个关联列表的,像c++中的map,或者Python中的dict,保存每个文件名(包括子目录,Linux中一切皆文件!)到iNode的映射.iNode本 ...

  5. 如何使用svn命令行更新想要的目录?

    内容来自网络. 一 某些原因想在svn co的时候排除某些目录,可以绕个圈子,分三步来完成:co外层目录:svn checkout --depth empty URL[URL[LOCATION]完成之 ...

  6. 解决 mklink 使用中的各种坑(硬链接,软链接/符号链接,目录链接)

    通过 mklink 命令可以创建文件或文件夹的链接,而这种链接跟快捷方式是不一样的.然而我们还可能会遇到其使用过程中的一些坑,本文将整理这些坑并提供解决方法.   0x00 背景介绍:mklink m ...

  7. 目录、目录项、文件名、inode、软硬链接的关系

    对于Unix系列的操作系统,大多都有v节点.但是对于linux来说,只有通用的i节点,却没有v节点. 下面来探讨一下,linux下的i节点. linux中,文件查找不是通过文件名称来查找的.实际上是通 ...

  8. CentOS下安装配置SVN服务器并自动同步到web目录

    一.安装 yum install subversion测试是否安装成功 /usr/bin/svnserve --version如提示以下内容,说明已安装成功 svnserve,版本 1.6.11 (r ...

  9. 在linux上搭建SVN服务器并自动更新至WEB目录

    1.仓库放在 /var/svn/ 目录下,并且仓库名为 project 2.创建用户组user,该组下添加两个成员user1.user2,密码直接用用户名,两用户可以checkout代码和提交代码 3 ...

随机推荐

  1. Heartbeat的两个小BUG

    1,heartbeat启动不起来 如果你是用了linux-ha.japan里面的repo文件,Yum安装pacemaker+heartbeat时. 可能会发现打了service heartbeat s ...

  2. java 继承多态的一些理解不和不理解

    1.向上转型的一个误区 一直以为Child 继承Parent以后, Parent p = new Child();  p可以调用Child类中拓展Parent的方法,原来必须在强制转换成Child类才 ...

  3. macd综合版

    参数设置  SHORE 12    LONG 26    MID 9 DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:EMA(DIF,MID),COLOR88888 ...

  4. iOS JSPatch 热修复使用

    概述 一说到热修复,可能很多人会觉得应该很复杂,很难用(我以前是这么觉得的...),实际使用起来蛮简单的,这里以一个小demo演示热修复是如何修复崩溃的,具体更深入的用法,可以看这个https://g ...

  5. 集合使用copy与mutableCopy的区别

    集合(NSArray,NSSet,NSDictionary等)使用copy与mutableCopy的区别是类似的,下面以NSMutableArray.NSArray 为例子验证如下: NSMutabl ...

  6. Atitit.信息论原理概论attilax总结

    Atitit.信息论原理概论attilax总结 1. <信息论基础(原书第2版)>((美)科弗(Cover...)[简介_书评_在线阅读] - 当当图书.html1 2. <信息论- ...

  7. 接入多家ERP厂商,美团点评餐饮高速路开启

    前段时间美团点评CEO王兴所提出的中国互联网进入下半场观点引发了互联网从业人士以及网友们的热议.当时王兴提出,当前国内外所有的互联网公司包括美团点评在内都还远没有做好整个产业链的服务,美团点评也只做了 ...

  8. IOS—静态方法(类方法)和实例方法

    1.实例方法/动态方法 a).标识符:- b).调用方式:(实例对象    函数) c).实例方法在堆栈上. 2.静态方法/类方法 a).标识符:+ b).调用方式:(类    函数) c).静态方法 ...

  9. Leetcode 20 Valid Parentheses stack的应用

    判断括号是否合法 1.用stack存入左括号“([{”,遇到相应的右括号“)]}”就退栈 2.判断stack是否为空,可以判断是否合法 class Solution { public: bool is ...

  10. GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例

    转:http://www.tuicool.com/articles/NVVnMn (1)GCD实现的同步异步.串行并行. ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等耗时 ...