You are here

Drupal专业开发指南 第21章 Drupal核心中的标签

标签就是一个特定分支在某个时间的快照。在Drupal世界中,标签用来标记beta,bug-fix,和安全发布。这样就得到了更小的版本,比如Drupal 6.1 和 6.2。规范的标签名有DRUPAL-4-7-1,DRUPAL-4-7-2, DRUPAL-5-7, DRUPAL-6-0, DRUPAL-6-1, 和DRUPAL-6-2(再次注意,在Drupal5中,命名规范改变了)。Drupal核心使用的标签名字的完整列表,可参看http://drupal.org/node/93997

    在Drupal6还处于正在开发的时候,核心负责人想创建一个beta发布,这样就可以方便人们测试代码了。所以他们创建了一个标签,DRUPAL-6-0-BETA-1,如图21-3所示。
 
21-3.创建了一个标签DRUPAL-6-0-BETA-1。
 
    标签DRUPAL-6-0-BETA-1指的是处于特定状态的代码;也就是,在某个时间点上,代码的一个准确快照。如果你现在真的需要的话,那么你仍然可以使用CVS下载Drupal的beta 1发布。
    随着越来越多的bug被修正,那么将会使用标签,比如DRUPAL-6-0-RC-1和DRUPAL-6-0-RC-2,来创建一个或多个候选发布。当代码足够成熟时,将会从基准代码开发中创建一个分支DRUPAL-6,而HEAD则将用于Drupal7的开发。这样,值得庆祝的一天到来了,DRUPAL-6-0标签创建了;关于Drupal6的技术文章、博客,都会疯狂的增加;Drupal6也将应用于各种实际的网站之中。而在DRUPAL-6分支背后,许多Drupal程序员将继续为其修正bug,这样就有了标签DRUPAL-6-1, DRUPAL-6-2,以此类推。
 
-dev后缀
    同时,HEAD上的开发仍在继续。不过在Drupal社区中,一般不把它称作HEAD,而是把它看作是Drupal的下一版本,因为这就是正在开发的真正东西。在图21-4中,你可以看到,7.x-dev就是开发Drupal 7的地方。
 
21-4.–dev快照指的是开发的前沿。
 
    当Drupal 7正式发布时,核心负责人将为Drupal7添加一个稳定的分支,在该分支上将会继续添加新的标签。注意,因此,7.x-dev不是一个标签!这意味着它指的不是处于给定状态的代码。更准确的说,它指的是一个分支上的继续开发。每天,drupal.org上的打包脚本都会从分支上获得一个快照,将它作为一个“开发快照”提供给大家下载,如图21-5所示。不过,这样做只是为了方便;它不是CVS的一个特性。
 
21-5.http://drupal.org/download上,你可以下载Drupal下一个版本的开发快照。
 
    同样,在稳定的分支上,仍会进行bug的修正工作。看一下图21-4中的DRUPAL-6分支。从图中我们可以看出,在创建了DRUPAL-6-2标签以后,已经又修正了一个bug,但是现在还没有创建新的标签。并不是每次修正一个bug后,都创建一个标签的;只有在修正了足够多的bug后,核心维护者判定应该批准一个新发布时,才创建一个标签(例外情况就是,安全性修正,它通常会导致一个立即发布)。当时间到了以后,核心维护者就会创建DRUPAL-6-3标签,这样就创建了一个新发布。
    所以,让我们再次回到图21-4上;DRUPAL-6分支上的最新代码,它超过了DRUPAL-6-2发布,里面包含了一个在发布以后的bug修正,我们把它称为6.x-dev。这意味着它是Drupal 6.3的开发版本;在核心维护者创建DRUPAL-6-3标签时,这一代码将成为Drupal 6.3。在此以后,分支末端的代码还是6.x-dev,因为该代码将成为Drupal 6.4。
 
提示 当开发者提到分支末端的代码时,他们一般不会停下来检查哪个才是实际的下一版本(它是6.1? 6.2? 6.3?)。在这种情况下,他们使用一个“x”,来替代“6.1”中的“1”或者“6.2”中的“2”,这样就可以简单把它称为6.x-dev ----- 也就是,“x”指的是将会成为Drupal 6的下一版本的代码,而不管具体的版本号是多少。
 
    现在,你应该能够理解标签和分支的不同了,以及标签是如何关联到核心发布上的。这一信息总结在了表21-2中。
 
21-2.标签、分支、发布、Tarball(沓包)之间的关系
标签          出现的分支     发布           Tarball沓包
DRUPAL-5-7      DRUPAL-5        Drupal 5.7      drupal-5.7.tar.gz
DRUPAL-6-0      DRUPAL-6        Drupal 6.0      drupal-6.0.tar.gz
DRUPAL-6-1      DRUPAL-6        Drupal 6.1      drupal-6.1.tar.gz
DRUPAL-6-2      DRUPAL-6        Drupal 6.2      drupal-6.2.tar.gz
HEAD            None            7.x-dev         drupal-7.x-dev.tar.gz
 老葛的Drupal培训班 Think in Drupal

Drupal版本: