You are here

Drupal专业开发指南 第21章 签出贡献资源库

我前面提到了,drupal.org有两个资源库,一个用于核心代码,一个用于贡献的代码包括模块和主题。对于前者,只有很少的人能够访问;而对于后者,许多开发者都可以访问。你可以以匿名或者登录用户的身份,来签出贡献资源库。如果你是为了一个站点从贡献资源库签出代码的话(例如,你只想使用CVS获取一个模块的拷贝,这样你就可以运行它了),那么最好使用匿名用户的身份进行签出。否则,当下一个人来维护你创建的Drupal站点时,他想从CVS上更新模块代码,而系统则提示需要输入你设置的密码,那么此时他会晕死的!

    你可以签出整个资源库:
 
cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib
checkout contributions
 
    然而,并不鼓励你这样做,因为下载的太多了,会加重服务器的负担。最好只下载自己需要的。假定你创建了一个模块,并想将它贡献给Drupal社区。这意味着你只需要资源库中的modules子目录。如果你想把代码提交到资源库,那么你需要登录进来(你需要CVS帐号和密码;参看“获得一个Drupal CVS帐号”)。假定你的CVS用户名为sproinx,下面给出了如何登录进来:
 
cvs -d:pserver:sproinx@cvs.drupal.org:/cvs/drupal-contrib login
 
    系统会提示你输入密码,就是你申请CVS帐号时提供的。这个密码与你的drupal.org密码可以不一样。
 
提示 登录到drupal.org,点击“我的帐户”,点击编辑链接,并点击CVS标签,这样你就可以修改你的CVS帐号的密码了。
 
    接下来,你可以签出贡献资源库(就是drupal-contrib资源库)的modules子目录。你可以签出modules子目录所包含的所有模块,不过很少这样做,除非你想在一个长途飞行期间细读所有模块的拷贝:
 
cvs -z6 -d:pserver:sproinx@cvs.drupal.org:/cvs/drupal-contrib checkout
contributions/modules
 
    这将在你的本地计算机上创建一个modules子目录的拷贝。它应该看起来这样的:
contributions/
    CVS/
    modules/
        a_sync/
        aapi/
        about_this_node/
        abuse/
        ...
 
    或者,你可以只签出modules子目录,而不带有它所包含的模块,大多数的开发者都这样做:
 
cvs -d:pserver:sproinx@cvs.drupal.org:/cvs/drupal-contrib checkout
-l contributions/modules
 
注意 在编写本书时,modules子目录已经包含了300MB的数据。这就是为什么在签出该子目录时,在CVS命令中使用-z6标记(-z6在将数据通过网络传输前,会先对其进行压缩),或者使用-l标记,省略对所有模块的签出。
 
    注意在前面的CVS命令中,参数-d:pserver:sproinx@cvs.drupal.org:/cvs/drupal-contrib是重复的。由于每次都输入一遍这个参数,这样会很不方便,所以聪明的开发者可以把它放在CVSROOT环境变量中:
 
export CVSROOT=:pserver:sproinx@cvs.drupal.org:/cvs/drupal-contrib
 
    从现在起,CVS命令就会简短很多。设置了CVSROOT以后,前面的命令将会变成这样:
 
cvs login
cvs -z6 checkout contributions/modules
cvs checkout -l contributions/modules
 
    从现在起,我假定已经设置了CVSROOT环境变量。

Drupal版本: