SVN的用法 - 外部引用
1.为什么要外部引用的功能
假设某家公司中现在有三个子项目(假设分别为a,b,c)需要开发,由于业务逻辑复杂,需要记录下一些关键的容易出错的地方,所以需要用到日志的功能,假设在a项目中写了一个日志基础类库,为了在项目b及c中也能使用,通常的做法是a中写好的log复制到b及c,这样有一点不好的地方是每次日志类库修改了,都需要往其它的地方复制,很麻烦,万一什么时候忘记了复制会造成版本不同步,如果用上SVN外部引用的功能,这些问题都会迎刃而解。
2.SVN外部引用过程
假设svn中log保存的路径如下
library/log/file1
library/log/file2
...
library/log/filen
三个项目a,b,c的路径分别为
projects/projecta
projects/projectb
projects/projectc
在目录projects/projecta上点击鼠标右键,选择TortoiseSVN->Properties(属性),在出面的窗口中输入logsvn://192.168.1.100/library/log,点击ok按钮,在目录projects/projecta中点击鼠标右键,选择SVNUpdate进行SVN更新的操作,然后进行SVNCommit的操作,这样就引用完成了,必须要提交,否则其它人无法看到你引用的变化情况。
引用完成以后目录projects/projecta下面的目录及文件如下:
projects/projecta/log/file1
projects/projecta/log/file2
...
projects/projecta/log/filen
注意在svn中,当在某一个目录下面要引用2个或以上的目录时,引用任何一个目录时以前引用的目录记录均不能删除,否则会出错的。
cachesvn://192.168.1.100/library/cache
logsvn://192.168.1.100/library/log
目录projects/projectb及projects/projectc的操作与projects/projecta的类似。
以后一旦log基础类库有变动,则直接修改library/log下面的文件,修改完成以后提交,然后在引用的目录下面执行svnupdate操作,这就是引用的好处,只需要维护一套代码,比较方便。