Appendix A. CVS 仓库

Table of Contents
A.1. 通过匿名CVS获取源代码
A.2. CVS 树的组织
A.3. 通过 CVSup获取源代码

PostgreSQL 的源代码是使用 CVS 代码管理系统进行存储和管理的。

至少有两个方法:匿名匿名 CVS 和 CVSup,可以用于从 PostgreSQL 服务器把 CVS 代码树拉到你的本地机器上。

A.1. 通过匿名CVS获取源代码

如果你想经常地跟上目前的代码,你可以从我们的 CVS 服务器上把它们抓下来,然后用 CVS 经常地检索更新。

匿名 CVS

  1. 你需要一个本地 CVS (并行版本控制系统 Concurrent Version Control System)的拷贝,你可以从 http://www.cyclic.com/ 或 者任意 GNU 软件归档站点获得。 我们目前建议版本是 1.10 (在我们书写这些的时候是最新版)。 许多系统缺省安装时已经带有最新的 cvs

  2. CVS 服务器做一次初始化登录:

    $ cvs -d :pserver:[email protected]:/projects/cvsroot login
         

    你将会被提问口令;只要敲一下ENTER。 你将只需要这样做一次,因为口令将被保存在你的家目录的 .cvspass 里。

  3. 抓取 PostgreSQL 源文件:

    cvs -z3 -d :pserver:[email protected]:/projects/cvsroot co -P pgsql
         

    这样将把 PostgreSQL 源文件安装到你当前目录的子目录 pgsql 里。

    注意: 如果你与互联网的联接速度很快,你可能不需要 -z3,这个开关告诉 CVS 对待传输数据使用 gzip压缩。 不过对于使用猫拨号上网的速度,这样做很有好处。

    这样的初始化检查比简单地下载一个 tar.gz 文件要慢一些, 如果你有一个 28.8K 的猫(调制解调器); 这一步大约要花掉你 40 分钟左右。 CVS 的先进性只有在你以后需要更新文件时才显示出来。

  4. 当你想要更新最新的 CVS 源文件时, cdpgsql 子目录,然后使用命令

    $ cvs -z3 update -d -P
         

    这样将只抓取上次你访问以来的更新。 即使在用猫上网的情况下,你也只需要几分钟就可以更新完毕。

  5. 你可以通过在你的家目录里面的 .cvsrc 加上下面几行来节约几次敲键

    cvs -z3
    update -d -P
         

    这样对所有 cvs 命令应用 -z3 选项,以及给 cvs 更新附加 -d-P 选项。然后你只需要说

    $ cvs update
         

    就可以更新你的文件了。

Caution

有些老版本的 CVS 有一个臭虫, 赋予你所检出的文件以所有人可写的权限存储在你的目录里。 如果你发现这样的事情,你可以做一些象下面的事情

$ chmod -R go-w pgsql
    

以正确地设置权限。这个臭虫在 CVS 版本 1.9.28 就被修补了。

CVS 还可以做很多其他事情,象抓取以前版本的 PostgreSQL 源码而不是最新版本的源码。 更多的信息,请参考 CVS随机文档,或者检查在 http://www.cyclic.com/ 的在线文档。