Developer's Frequently Asked Questions (FAQ) for PostgreSQL
- Last updated: Mon Nov 26 21:48:19 EST 2001
+ Last updated: Tue Nov 27 19:09:59 EST 2001
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
I then download and build on as many different canonical distributions
as I can -- currently I am able to build on Red Hat 6.2, 7.0, and 7.1 on
my personal hardware. Occasionally I receive opportunity from certain
-commercial enterprises such as Great Bridge and PostgreSQL Inc to build
-on other distributions.
+commercial enterprises such as Great Bridge and PostgreSQL, Inc. to
+build on other distributions.
I test the build by installing the resulting packages and running the
regression tests. Once the build passes these tests, I upload to the
next release.
The first thing you have to know is the branch name for the branch you
-are interested in getting at. Unfortunately Marc has been less than
-100% consistent in naming the things. One way to check is to apply
-"cvs log" to any file that goes back a long time, for example HISTORY
-in the top directory:
-
-$ cvs log HISTORY | more
-
-RCS file: /home/projects/pgsql/cvsroot/pgsql/HISTORY,v
-Working file: HISTORY
-head: 1.106
-branch:
-locks: strict
-access list:
-symbolic names:
- REL7_1_STABLE: 1.106.0.2
- REL7_1_BETA: 1.79
- REL7_1_BETA3: 1.86
- REL7_1_BETA2: 1.86
- REL7_1: 1.102
- REL7_0_PATCHES: 1.70.0.2
- REL7_0: 1.70
- REL6_5_PATCHES: 1.52.0.2
- REL6_5: 1.52
- REL6_4: 1.44.0.2
- release-6-3: 1.33
- SUPPORT: 1.1.1.1
- PG95-DIST: 1.1.1
-keyword substitution: kv
-total revisions: 129; selected revisions: 129
-More---q
-
-Unfortunately "cvs log" isn't all that great about distinguishing
-branches from tags --- it calls 'em all "symbolic names". (A "tag" just
-marks a specific timepoint across all files --- it's essentially a
-snapshot whereas a branch is a changeable fileset.) Rule of thumb is
-that names attached to four-number versions where the third number is
-zero represent branches, the others are just tags. Here we can see that
-the extant branches are
+are interested in getting at. To do this, look at some long-lived file,
+say the top-level HISTORY file, with "cvs status -v" to see what the
+branch names are. (Thanks to Ian Lance Taylor for pointing out that
+this is the easiest way to do it.) Typical branch names are:
+
REL7_1_STABLE
REL7_0_PATCHES
REL6_5_PATCHES
-The next commit to the head will be revision 1.107, whereas any changes
-committed into the REL7_1_STABLE branch will have revision numbers like
-1.106.2.*, corresponding to the branch number 1.106.0.2 (don't ask where
-the zero went...).
OK, so how do you do work on a branch? By far the best way is to create
a separate checkout tree for the branch and do your work in that. Not
the tree right away after a major release --- we wait for a dot-release
or two, so that we won't have to double-patch the first wave of fixes.
- Also, Ian Lance Taylor points out that branches and tags can be
- distiguished by using "cvs status -v".
-
17) How go I get involved in PostgreSQL development?
This was written by Lamar Owen:
> - Find the development environment (OS, system, compilers, etc)
> required to develop code.
-Developers Corner on the website has links to this information. The
-distribution tarball itself includes all the extra tools and documents that
-go beyond a good Unix-like development environment. In general, a modern
-unix with a modern gcc, GNU make or equivalent, autoconf (of a particular
-version), and good working knowledge of those tools are required.
+Developers Corner on the website
+has links to this information. The distribution tarball itself
+includes all the extra tools and documents that go beyond a good
+Unix-like development environment. In general, a modern unix with a
+modern gcc, GNU make or equivalent, autoconf (of a particular version),
+and good working knowledge of those tools are required.
> - Find an area or two that needs some support.