使用svn:externals建立SVN文件(夹)链接

2014-05-27 · 8 min read

在实际开发常常出现这样的情况:同一文件(文件夹)在不同的项目中使用,如果复制多份,维护会变得非常麻烦。此时使用 svn:externals 可以方便的解决这个问题,svn:externals 是用来建立文件(夹)链接,或者叫文件(夹)引用,或者映射什么的….总之作用就是 svn 上的一个文件,在多处使用,修改后 update,即会同步更新。这样管理项目的公用代码就很方便了,今天刚好用到,就记录下来(网上很多只说了文件夹的操作,对文件的操作只字未提)。

1、在任意 SVN 目录右键,选择 TortoiseSVN -> Properties。

2、选择 new -> externals

3、出现如下界面,Local path 代表本地文件或者文件夹的名称,URL 是 SVN 地址。

关键的地方到了,如果 Local path 设置为 css(一个文件夹),URL 设置 http://keenwon.com/css(一个文件夹)。那么会在当前目录建立一个CSS文件夹,指向http://keenwon.com/css。同理,如果Local path 设置为 style.css,URL 设置为http://keenwon.com/css/style.css,就会在本目录建立一个style.css文件,指向http://keenwon.com/css/style.css。

这样,可以做到文件(夹)的同步更新。另外要注意上面设置的 URL 是否有权限。

————————————————-

昨晚写下这篇文章,本以为这事就这样结了,没想到就在刚才,又有另一个文件需要加链接,我按照上面的步骤又执行了一次,居然报错了:

里面最关键的是这句:Error: Unsupported external: url of file external,google 了一下,发现是不能在给两个不同的仓库加 svn:externals。也就是说,当前目录是http://keenwon.com下的,你不能外链http://google.com下的文件,http://keenwon.com下的可以随便引。