使用svn.externals(外链)提升美术多个svn目录的svn up速度
svn up多个目录耗时大
svn上的美术资源项目,在打包机上对一个很久没有变化的目录进行svn up也是需要消耗不少时间的,特别打包时需要对多个目录进行svn up,比如空跑54个目录的svn up耗时在3分多钟,而通过svn:externals把这些目录外链到一个目录下,可以大大减少svn up的时间。
关于svn:externals的介绍
假如你的 SVN 项目分为客户端、服务端,它们需要用到同一份配置,那么可以在 /client/common 、 /server/common 目录中存放相同的配置文件,但是每次一方修改后都要手动复制修改到另外一个目录?这也太麻烦了吧,有没更好的方法呢?这篇文章给你讲解如何使用 svn:externals 完美的解决。
假设我们的目录结构如下图所示,服务端客户端都有一个 common 目录:

最简单的方法也是最笨的方法,就是每次修改后都手动复制文件到另外一个目录,人工确保两个目录的文件一致,这很容易出问题。
稍微好点的方法是,在 /server/common 目录检出(checkout)一份 /client/common,这样省去了复制文件的麻烦,每次只需要到 common 目录进行 update 就行了。但是,我们必须记得要进去 common 目录进行更新才行,直接在外层目录进行 update 是不会更新的。
其实,SVN 还有提供一个叫 externals 的属性,可以用来在目录中引入其他 SVN 地址目录,更新时还会同步自动更新这个引入的 external 目录。
在你需要的目录,右键选择 TortoiseSVN - Properties:

在打开的属性窗口中,我们点击新建添加外部(Externals)SVN 目录

填写保存目录(Local path),外部 SVN 地址(URL),最后点击确定

添加成功后,我们可以看到属性列表窗口已经列出来我们刚添加的地址了。
这样,我们就把客户端 /client/common 目录引入到了 /server/common

现在,我们更新试下,发现外部引入的 SVN 目录也会自动更新了,而且不需要进入 common 目录去更新,在父目录也是可以更新到的。
另外,这个外部引入的 SVN 目录,你一样可以进行修改提交,然后其他地方都能更新到这个修改。

提醒下大家,这个引入外部 SVN 目录是可以任何 SVN 地址的,不管你是不是同个 SVN 仓库都行。
批量设置svn:externals
上述是单个设置,如果我们有非常多个目录需要外链,那么把这些外链批量设置到某个目录的属性上。
- 在纳入svn控制的目录下创建一个文本用来保存所有的外链路径,比如叫:external.txt
- 在externals.txt中按行增加外链,格式:文件夹 svn地址
- 写一个get_all_svn.bat,填入以下内容,双击执行它就会对我们当前目录增加属性,只需要初始化一次
- 后面每次只需要在当前目录下进行svn up就可以正常更新下所有外链的内容
get_all_svn.bat,内容:
svn:externals . -F external.txt
svn up
external.txt,文件的内容示例:
文件夹名字1 https://subversion.assembla.com/svn/your_assembla_space/trunk/
文件夹名字2 http://subversion.assembla.com/svn/your_assembla_space_2/trunk
详细介绍:Using SVN Externals Definitions | Assembla Help Center --- 使用 SVN 外部定义 |组装帮助中心
使用svn.externals(外链)提升美术多个svn目录的svn up速度的更多相关文章
- SVN外链
1 外链使用场景 使用Subversion进行版本管理时,有时需要将一些公共库或者开源库链接到自己项目中,为了同时做到与外部库实时更新,使用Subversion的外链功能,从而将外部的库当做本地项目的 ...
- 外链专员怎么做提升自己的seo水平
http://www.wocaoseo.com/thread-281-1-1.html 我是一个外链专员,想提升自身的seo水平该怎么做? 随着SEO的学习,已经有了一段时间,平时也在思考好多事情,现 ...
- SVN的文件夹链接(目录链接,目录映射,svn:externals)
首先大家可以看下SVN的文件夹链接太强大了!(目录链接,目录映射,svn:externals),我就是看了这篇文章才敢大刀阔斧的把项目里的外链修改成正确的链接. 问题: 我们的项目里,服务器脚本工程s ...
- 小讲堂:Mobox文档管理软件中的文件外链是什么?
今天我们来讨论Mobox文档管理软件中的文件外链是什么?熟悉MOBOX的朋友们应该知道,如果有文件需要分享给其他同事,直接可以进行文件共享.对方会在AM的即时通讯客户端有消息提醒,点击消息提醒可以看到 ...
- seo外链发布之论坛外链
目前最常见的seo外链方式有5种,之前大发迹创业项目网写文章分享过,详情可以查看文章<[网站SEO优化]最常见的五种软文外链发布方式!>,这篇文章不说其他的几种发外链,就来讲讲通过论坛建设 ...
- seo搜索优化技巧01-seo外链怎么发?
在seo搜索优化中,seo外链的作用并没有早期的作用大了.可是高质量的外链对关键词的排名还是很重要的.星辉信息科技对seo外链怎么发以及seo外链建设中的注意点进行阐述. SEO外链如何做 SEO高质 ...
- 利用js查找页面中的内链,外链
起初没听说过内链外链,只有链接锚文本,在面试中被问到如何查找到页面中的内链和外链,就在想,什么是内链和外链啊??????? 后来面试官给我解释了一下他们的区别,自己稍微懂了,自己当时回答的是通过获取a ...
- svn设置外网访问
1.设置路由器 默认协议为:https 端口号:443 服务器地址:https://主机名/svn/版本库 例:https://mleo-pc/svn/Share/ 也可就主机名用IP地址代替 如:h ...
- 那些年因为粗心导致的外链css无效
css文件三种引用的三种方式: 1.外链: <link rel= "stylesheet" href=""> 注:如果使用外链式绝对不可以忘记 re ...
- 手动获取酷我Mp3外链
素材→http://player.kuwo.cn/webmusic/st/getNewMuiseByRid?rid=MUSIC_随便找一首歌http://www.kuwo.cn/yinyue/1034 ...
随机推荐
- Solon2 开发之插件,一、插件
Solon Plugin 是框架的核心接口,简称"插件".其本质是一个"生命周期"接口.它可让一个组件类参与程序的生命周期过程(这块看下:<应用启动过程与 ...
- SocketChannel支持设定参数
SocketChannel支持设定参数SO_SNDBUF 套接字发送缓冲区大小SO_RCVBUF 套接字接收缓冲区大小SO_KEEPALIVE 保护连接O_REUSEADDR 复用地址SO_LINGE ...
- 24校招,Moka测试开发工程师一面
前言 大家好,今天回顾一下楼主当时参加moka测试开发工程师的面试 对其中一些重要问题,我也给出了相应的答案 过程 自我介绍 挑一个项目,详细介绍你在其中担任的职责 如何安排工作的,有什么成果? 回归 ...
- 轻松导航:教你在Excel中添加超链接功能
前言 超链接是指在网页或电子文档中常见的元素,它的主要作用是将一个文本或图像与另一网页.文件或资源链接起来,从而使用户能够通过点击该链接跳转到目标资源.超链接可以起到导航以及引用的作用.超链接通常有以 ...
- 【django-vue】celery延迟任务、定时任务 django中使用celery 秒杀功能 双写一致性 首页轮播图定时更新 课程前端页面
目录 上节回顾 字符编码 django-redis 今日内容 1 celery 执行异步任务,延迟任务,定时任务 延时任务 定时任务 2 django中使用celery 2.1 秒杀功能 2.1.1 ...
- UVA - 1594 :Ducci Sequence (set应用)
给定n元组(a1,a2,...,an),ai均为整数,得到下一个序列为(|a1-a2|,|a2-a3|,...,|an-a1|),如此循环下去,必定会出现全零序列或重复序列. 现要求判断给定序列是全零 ...
- Logback 实现日志链路追踪
本文为博主原创,未经允许不得转载: 在开发过程中,经常会使用log记录一下当前请求的参数,过程和结果,以便帮助定位问题.在并发量下的情况下,日志打印不会剧增,可以很快就能通过打印的日志查看执行的情况. ...
- spring cloud 通过feign请求设置请求头
本文为博主原创,转载请注明出处: spring cloud 服务组件之间通过feign 的方式请求,会携带很少的基础类型的消息头参数,比如Content-Type等,但不会携带自定义或指定的请求头参数 ...
- 2023第十四届极客大挑战 — PWN WP
WP可能有点简陋,因为是直接从docx导入到博客的,实在不想再重新写了!大家凑合着看吧!哈哈哈,问题不大! pwn方向出自:队友 nc_pwntools 只要过了chal1和chal2即可执行任意命令 ...
- phpcms: Warning: "continue" targeting switch is equivalent to "break" 解决方案
Warning: "continue" targeting switch is equivalent to "break". Did you mean to u ...