- 论坛徽章:
- 0
|
FreeBSD把源代码版本控制系统从cvs平滑转向svn,是一段时间的老新闻了,记得delphi博客上的很早的一篇博文,曾经介绍过在FreeBSD未决定平滑转向svn之前,FreeBSD一些开发人员对svn的态度。简单的说,svn在版本分支的管理上,的确是很有特点,从近几日浏览FreeBSD的svn服务器来看,从一个user的角度来说,在FreeBSD项目的透明度上的确有所提高,但对于熟悉kde svn服务器的user来说,FreeBSD在目录构架上有些自己的特点。FreeBSD在其上的努力,也给svn的使用提供了一个不同的范例:
1、svn服务器的地址:http://svn.freebsd.org
在这个地址上存在4个连接,
Roadmap 是 目录架构介绍,一个文本文件
SVN ViewVC browser (a little buggy, be careful please) 是源代码库的浏览界面,viewvc是一种类似websvn的浏览方式,可以浏览整个代码库,以及所有的提交事件,这种浏览方式一方面可以了解FreeBSD源代码库的整体结构,另一方面也可以观察所有的提交和修改。
SVN DAV tree 是FreeBSD源代码库的即时快照,通过这个连接可以访问代码库的当前状态
FreeBSD.org home 主页链接
2、FreeBSD代码库的分支
head/ - equivalent of cvs HEAD revision. Exported to cvs. 相当于svn的thunk分支,简单的说就是current分支,通过这个分支可以访问到最新的current代码,目录结构和源代码树的目录结构相同
stable/ - where the xxx-stable branches live. 相当与svn的branch,简单的说就是FreeBSD的stable分支,通过这个分支可以访问到对应stable版的最新代码,目录按照stable x进行了细分,每个stable x里面包含着和源代码树同样的目录结构。
release/ - where release branches live 相当与svn的tags分支,简单的说就是FreeBSD的release分支,通过这个分支可以访问到release的代码,目录按照 release版本号进行划分。
releng/ - where release engineering happens 这个分支被称作release引擎,功能大致可以描述为“发行版准备分支”,例如FreeBSD 7.1 release这个版本,就是在releng展开,在达成release要求时,拷贝到release分支上去。个人理解,release版发布之前的beta版,rc版,就是在这上面进行的。
这四个分支大体上这样的一种联系,head是current,用于最新的开发并提供测试,按照一定的计划,当current代码达到预定的目标时,提交并开启新的stable分支(也有直接到releng分支的)。releng分支是从stable分支分离出来的,作用是对代码进一步完善和修改,但不再引入新的特性,通过releng若干beta版,rc版的测试后,导入release分支,进行发布。releng分支在下一个版本提交前,进行已发布的release版修补(诸如安全漏洞),并提交到release分支。stable分支是生产适用分支,提供持续的功能改进和代码修补服务。
除了这四个分支外,在FreeBSD的svn服务器上还有其他一些目录,但与FreeBSD源代码关系不大,就不做介绍了,感兴趣的可以去访问下。
PS:以上对FreeBSD svn服务器分支的介绍,源自近日对svn服务器访问的小结,在理解上,尤其是在分支运作上,可能会存在理解上的偏差,所以不当之处还请谅解,错误之处欢迎指正 
[ 本帖最后由 杜比环绕声 于 2009-2-18 13:35 编辑 ] |
评分
-
查看全部评分
|