svn 大杂烩
svn :
trunk 日常开发
branch 多版开发,或者修复bug,测试
tag 开发到一阶段打一个tag,给外部使用
属性externals:可以引用外部的公共工程。这个工程最好是稳定的,不改变的。。
Peg Revision : SVN里的一个有趣的概念。
一般情况下,我们指定SVN下的一个元素的一个版本,只需要使用path和版本号就可以了,但是某些特殊的情况下path加版本号是不能定位一个特定的版本的,因为有可能某个path会出现删除之后又被创建起来的情况,也就是说这个path可能对应多个不同的对象,这种情况下,仅仅指定一个版本号svn是不能定位的,必须再加上额外的信息。
SVN于是定义了Peg Revision来解决这个问题,这个Peg Revision表示在这个版本下定位那个元素,这一定是唯一的,这在SVN的命令行是通过加在path名后的@来指定的,而svn命令行的-r 指定的版本,则称为OperativeRevision。这样下面的命令:
svn info build.xml@10 -r 50
就表示要在仓库的10版本中找到build.xml,并显示这个对象的50版本信息,而一般情况下如果用 svn info build.xml -r 50 ,则一当前库上的build.xml为对象,显示它的50版本信息,实际上也等价于:
svn info build.xml@BASE -r 50
通常,这两条命令产生相同的结果,不会有歧义,但如果build.xml在51版本删除了,又重新建立了这个同名文件,则这两条命令就产生不同的结果了,前一条命令会引用到比较早的build.xml,而后一条则是比较新的,但在50版本,这个新的build.xml还没有建立,所以会显示对象找不到。