11
22 Developer's Frequently Asked Questions (FAQ) for PostgreSQL
33
4- Last updated:Mon Nov26 21:48:19 EST 2001
4+ Last updated:Tue Nov27 19:09:59 EST 2001
55
66 Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
77
@@ -465,8 +465,8 @@ answer is that I maintain:
465465I then download and build on as many different canonical distributions
466466as I can -- currently I am able to build on Red Hat 6.2, 7.0, and 7.1 on
467467my personal hardware. Occasionally I receive opportunity from certain
468- commercial enterprises such as Great Bridge and PostgreSQL Inc to build
469- on other distributions.
468+ commercial enterprises such as Great Bridge and PostgreSQL, Inc. to
469+ build on other distributions.
470470
471471I test the build by installing the resulting packages and running the
472472regression tests. Once the build passes these tests, I upload to the
@@ -545,51 +545,14 @@ for a stable release just before starting the development cycle for the
545545next release.
546546
547547The first thing you have to know is the branch name for the branch you
548- are interested in getting at. Unfortunately Marc has been less than
549- 100% consistent in naming the things. One way to check is to apply
550- "cvs log" to any file that goes back a long time, for example HISTORY
551- in the top directory:
552-
553- $ cvs log HISTORY | more
554-
555- RCS file: /home/projects/pgsql/cvsroot/pgsql/HISTORY,v
556- Working file: HISTORY
557- head: 1.106
558- branch:
559- locks: strict
560- access list:
561- symbolic names:
562- REL7_1_STABLE: 1.106.0.2
563- REL7_1_BETA: 1.79
564- REL7_1_BETA3: 1.86
565- REL7_1_BETA2: 1.86
566- REL7_1: 1.102
567- REL7_0_PATCHES: 1.70.0.2
568- REL7_0: 1.70
569- REL6_5_PATCHES: 1.52.0.2
570- REL6_5: 1.52
571- REL6_4: 1.44.0.2
572- release-6-3: 1.33
573- SUPPORT: 1.1.1.1
574- PG95-DIST: 1.1.1
575- keyword substitution: kv
576- total revisions: 129; selected revisions: 129
577- More---q
578-
579- Unfortunately "cvs log" isn't all that great about distinguishing
580- branches from tags --- it calls 'em all "symbolic names". (A "tag" just
581- marks a specific timepoint across all files --- it's essentially a
582- snapshot whereas a branch is a changeable fileset.) Rule of thumb is
583- that names attached to four-number versions where the third number is
584- zero represent branches, the others are just tags. Here we can see that
585- the extant branches are
548+ are interested in getting at. To do this, look at some long-lived file,
549+ say the top-level HISTORY file, with "cvs status -v" to see what the
550+ branch names are. (Thanks to Ian Lance Taylor for pointing out that
551+ this is the easiest way to do it.) Typical branch names are:
552+
586553 REL7_1_STABLE
587554 REL7_0_PATCHES
588555 REL6_5_PATCHES
589- The next commit to the head will be revision 1.107, whereas any changes
590- committed into the REL7_1_STABLE branch will have revision numbers like
591- 1.106.2.*, corresponding to the branch number 1.106.0.2 (don't ask where
592- the zero went...).
593556
594557OK, so how do you do work on a branch? By far the best way is to create
595558a separate checkout tree for the branch and do your work in that. Not
@@ -629,9 +592,6 @@ tree. This is kind of a pain, which is why we don't normally fork
629592the tree right away after a major release --- we wait for a dot-release
630593or two, so that we won't have to double-patch the first wave of fixes.
631594
632- Also, Ian Lance Taylor points out that branches and tags can be
633- distiguished by using "cvs status -v".
634-
635595 17) How go I get involved in PostgreSQL development?
636596
637597 This was written by Lamar Owen:
@@ -647,11 +607,12 @@ Really. HACKERS _is_the process. The process is not well documented (AFAIK
647607> - Find the development environment (OS, system, compilers, etc)
648608> required to develop code.
649609
650- Developers Corner on the website has links to this information. The
651- distribution tarball itself includes all the extra tools and documents that
652- go beyond a good Unix-like development environment. In general, a modern
653- unix with a modern gcc, GNU make or equivalent, autoconf (of a particular
654- version), and good working knowledge of those tools are required.
610+ Developers Corner on the website
611+ has links to this information. The distribution tarball itself
612+ includes all the extra tools and documents that go beyond a good
613+ Unix-like development environment. In general, a modern unix with a
614+ modern gcc, GNU make or equivalent, autoconf (of a particular version),
615+ and good working knowledge of those tools are required.
655616
656617> - Find an area or two that needs some support.
657618