↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.3 / 7.2 / 7.1 / 7.0 / 6.5
历史版本PostgreSQL 7.0 已于 2005 年 5 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

附录 DG1. CVS 代码库

Marc Fournier

Tom Lane

Thomas Lockhart

Postgres 源代码使用 CVS 代码管理系统存储和管理。

至少有两种方法——匿名 CVS 和 CVSup——可以把 CVS 代码树从 Postgres 服务器拉取到你的本地机器上。

DG1.1. CVS 树的组织

作者

由 Marc G. Fournier 写于 1998-11-05。

命令 cvs checkout 有一个标志 -r,让你检出模块的某个特定版本。有了这个标志,例如在将来任何时候检索组成模块 `tc' 的 1.0 版本的源码都很容易:

$ cvs checkout -r REL6_4 tc
   

比如说,如果有人声称那个版本里有一个 bug,而你在当前工作副本中找不到它,这就很有用。

提示

你也可以用 -D 选项检出模块在任一给定日期时的状态。

当你用同一个标记标记多个文件时,可以把这个标记想成"一条画在文件名与版本号矩阵中穿过的曲线"。假设我们有 5 个文件,版本如下:

             file1   file2   file3   file4   file5
     
             1.1     1.1     1.1     1.1  /--1.1*      <-*-  TAG
             1.2*-   1.2     1.2    -1.2*-
             1.3  \- 1.3*-   1.3   / 1.3
             1.4          \  1.4  /  1.4
                           \-1.5*-   1.5
                             1.6
   

那么标记 "TAG" 将引用 file1-1.2、file2-1.3 等等。

注意

创建发行分支时,除了在命令中加上 -b 选项之外,其余都是一回事。

于是,为了创建 v6.4 发行版,我做了以下操作:

$ cd pgsql
$ cvs tag -b REL6_4
   

这会为 RELEASE 树创建标记和分支。

现在,对于拥有 CVS 写权限的人来说就太简单了。首先创建 RELEASE 和 CURRENT 两个子目录,免得把两者弄混。然后执行:

cd RELEASE
cvs checkout -P -r REL6_4 pgsql
cd ../CURRENT
cvs checkout -P pgsql
   

这会得到两棵目录树:RELEASE/pgsql 和 CURRENT/pgsql。从那时起, CVS 会跟踪哪棵目录树对应仓库的哪个分支,并允许对两棵树独立地进行更新。

如果你只在 CURRENT 源码树上工作,那么一切照旧,就像我们开始标记发行分支之前那样做即可。

在某个分支上完成初始检出之后

$ cvs checkout -r REL6_4
   

你在该目录结构中做的任何操作都局限于该分支。如果你对该目录结构打了一个补丁,然后在其内部执行

cvs commit
   

那么补丁会被应用到该分支上,而且只应用到该分支。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。