You are here

Drupal专业开发指南 第21章 创建一个兼容Drupal6的分支

我们已经为Drupal5创建了一个分支,并在该分支上创建了一个标签。现在让我们把精力主要放在Drupal 6上,来添加对badger(徽章)模块的依赖关系。但是首先,我们需要做出一个决定。我们是应该立即创建一个分支呢?还是应该简单的使用HEAD?由于我们可以在任何想要的地方创建标签,所以这个问题就是,又没有必要创建一个DRUPAL-6分支?让我们检查一下这两种不同的方式。

 
为发布使用HEAD
    用于新发布的一种方式是,编辑HEAD上的foo.info文件来添加依赖关系。首先,由于我们刚才使用的是DRUPAL-5分支下的文件,所以我们需要从HEAD获取文件,并将其放入到本地工作空间中。你可能会认为使用下面的命令就可以了:
 
cvs update -dP -r HEAD
 
    然而,这将在你的本地工作空间生成一个粘性标签,如果你想使用设置为HEAD的粘性标签执行提交的话,那么你将收到一个如下所示的错误:
 
cvs commit: sticky tag `HEAD' for file `foo.info' is not a branch
cvs [commit aborted]: correct above errors first!
 
    解决方案是使用下面的命令,它将重置粘性标签:
 
cvs update –A
 
    现在,让我们添加依赖信息,这里使用了Drupal6所用的方括号格式:
 
// $Id: foo.info,v 1.2 2008/05/22 14:28:25 jvandyk Exp $
name = Foo
description = Sends badgers to those who use it.
dependencies[] = badger
core = 6.x
 
    你可以使用cvs diff和cvs status来检查变更。接着提交变更:
 
cvs commit -m "Drupal-6-compatible dependency on badger module."
 
    图21-11显示了我们最近的变更。
 
21-11.开发历史显示HEAD上有一提交
 
    由于现在我们还不为Drupal 7做任何开发工作,所以我们可以使用HEAD来放置新的开发工作。这意味着少加了一个分支,也就少添了一些麻烦。分支少,就意味着提交bug修正的地方少了。让我们继续前进,为Drupal6创建第一个标签。由于它是兼容Drupal核心6.x系列的第一个发布,所以我们把它叫做DRUPAL-6--1-0:
 
cvs tag DRUPAL-6--1-0
 
    这个标签是创建在HEAD上的,如图21-12所示。
 
21-12.一个应用于CVS树的主干的标签
 
    假定我们继续更新模块,又创建了多个提交和发布。那么我们的开发历史,将很快变成图21-13所示的样子。
 
21-13.Drupal6发布使用HEAD所做的开发
 

Drupal版本: