diff --git a/doc/src/sgml/cvs.sgml b/doc/src/sgml/cvs.sgml
deleted file mode 100644
index 7fa25773b4e..00000000000
--- a/doc/src/sgml/cvs.sgml
+++ /dev/null
@@ -1,701 +0,0 @@
-
-
-
-
-
-
- Marc
- Fournier
-
-
- Tom
- Lane
-
-
- Thomas
- Lockhart
-
-
- 1999-05-20
-
-
- The CVS Repository
-
-
- The PostgreSQL source code is stored and managed using the
- CVS code management system.
-
-
-
- At least two methods,
- anonymous CVS and CVSup,
- are available to pull the CVS code tree from the
- PostgreSQL server to your local machine.
-
-
-
- Getting The Source Via Anonymous CVS
-
-
- If you would like to keep up with the current sources on a regular
- basis, you can fetch them from our CVS server
- and then use CVS to
- retrieve updates from time to time.
-
-
-
- Anonymous CVS
-
-
-
- You will need a local copy of CVS
- (Concurrent Version Control System), which you can get from
-
- (the official site with the latest version) or any GNU software
- archive site (often somewhat outdated). We recommend version 1.10
- or newer. Many systems have a recent version of
- cvs installed by default.
-
-
-
-
-
- Do an initial login to the CVS server:
-
-
-cvs -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot login
-
-
- You will be prompted for a password; you can enter anything except
- an empty string.
-
-
-
- You should only need to do this once, since the password will be
- saved in .cvspass in your home directory.
-
-
-
-
-
- Fetch the PostgreSQL sources:
-
-cvs -z3 -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot co -P pgsql
-
-
- This installs the PostgreSQL sources into a
- subdirectory pgsql
- of the directory you are currently in.
-
-
-
- If you have a fast link to the Internet, you may not need
- , which instructs
- CVS to use gzip compression for transferred data. But
- on a modem-speed link, it's a very substantial win.
-
-
-
-
-
- This initial checkout is a little slower than simply downloading
- a tar.gz file; expect it to take 40 minutes or so if you
- have a 28.8K modem. The advantage of
- CVS
- doesn't show up until you want to update the file set later on.
-
-
-
-
-
- Whenever you want to update to the latest CVS sources,
- cd into
- the pgsql subdirectory, and issue
-
-cvs -z3 update -d -P
-
-
- This will fetch only the changes since the last time you updated.
- You can update in just a couple of minutes, typically, even over
- a modem-speed line.
-
-
-
-
-
- You can save yourself some typing by making a file .cvsrc
- in your home directory that contains
-
-
-cvs -z3
-update -d -P
-
-
- This supplies the option to all cvs commands, and the
- and options to cvs update. Then you just have
- to say
-
-cvs update
-
-
- to update your files.
-
-
-
-
-
-
- Some older versions of CVS have a bug that
- causes all checked-out files to be stored world-writable in your
- directory. If you see that this has happened, you can do something like
-
-chmod -R go-w pgsql
-
- to set the permissions properly.
- This bug is fixed as of
- CVS version 1.9.28.
-
-
-
-
- CVS can do a lot of other things,
- such as fetching prior revisions
- of the PostgreSQL sources
- rather than the latest development version.
- For more info consult the manual that comes with
- CVS, or see the online
- documentation at
- .
-
-
-
-
- CVS Tree Organization
-
-
-
- Author
-
- Written by Marc G. Fournier (scrappy@hub.org) on 1998-11-05
-
-
-
-
-
- The command cvs checkout has a flag, ,
- that lets you check out a
- certain revision of a module. This flag makes it easy to, for example,
- retrieve the
- sources that make up release 6_4 of the module `tc' at any time in the
- future:
-
-
-cvs checkout -r REL6_4 tc
-
-
- This is useful, for instance, if someone claims that there is a bug in
- that release, but you cannot find the bug in the current working copy.
-
-
-
- You can also check out a module as it was at any given date using the
- option.
-
-
-
-
-
- When you tag more than one file with the same tag you can think
- about the tag as a curve drawn through a matrix of filename vs.
- revision number. Say we have 5 files with the following revisions:
-
-
- 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
-
-
- then the tag TAG will reference
- file1-1.2, file2-1.3, etc.
-
-
-
- For creating a release branch, other than a
- -b> option added to the command, it's the same thing.
-
-
-
-
- So, to create the 6.4 release
- I did the following:
-
-
-cd pgsql
-cvs tag -b REL6_4
-
-
- which will create the tag and the branch for the RELEASE tree.
-
-
-
- For those with CVS access, it's simple to
- create directories for different versions.
- First, create two subdirectories, RELEASE and CURRENT, so that you don't
- mix up the two. Then do:
-
-
-cd RELEASE
-cvs checkout -P -r REL6_4 pgsql
-cd ../CURRENT
-cvs checkout -P pgsql
-
-
- which results in two directory trees, RELEASE/pgsql and
- CURRENT/pgsql. From that point on,
- CVS
- will keep track of which repository branch is in which directory tree, and will
- allow independent updates of either tree.
-
-
-
- If you are only working on the CURRENT
- source tree, you just do
- everything as before we started tagging release branches.
-
-
-
- After you've done the initial checkout on a branch
-
-
-cvs checkout -r REL6_4
-
-
- anything you do within that directory structure is restricted to that
- branch. If you apply a patch to that directory structure and do a
-
-
-cvs commit
-
-
- while inside of it, the patch is applied to the branch and
- only the branch.
-
-
-
-
- Getting The Source Via CVSup
-
-
- An alternative to using anonymous CVS for retrieving
- the PostgreSQL source tree
- is CVSup.
- CVSup was developed by
- John Polstra (jdp@polstra.com) to
- distribute CVS repositories and other file trees for the
- FreeBSD project.
-
-
-
- A major advantage to using
- CVSup is that it can reliably
- replicate the entire CVS repository on your local system,
- allowing fast local access to cvs operations such as
- and . Other advantages include fast synchronization to
- the PostgreSQL server due to an efficient
- streaming transfer protocol which only sends the changes since the last update.
-
-
-
- Preparing A CVSup Client System
-
-
- Two directory areas are required for CVSup
- to do its job: a local CVS repository
- (or simply a directory area if you are fetching a snapshot rather
- than a repository; see below)
- and a local CVSup bookkeeping
- area. These can coexist in the same directory tree.
-
-
-
- Decide where you want to keep your local copy of the
- CVS repository. On one of our systems we
- recently set up a repository in /home/cvs/,
- but had formerly kept it under a
- PostgreSQL development tree in
- /opt/postgres/cvs/. If you intend to keep your
- repository in /home/cvs/, then put
-
-
-setenv CVSROOT /home/cvs
-
-
- in your .cshrc file, or a similar line in
- your .bashrc or
- .profile file, depending on your shell.
-
-
-
- The cvs repository area must be initialized.
- Once CVSROOT is set, then this can be done with a
- single command:
-
-
-cvs init
-
-
- after which you should see at least a directory named
- CVSROOT when listing the
- CVSROOT directory:
-
-
-$ ls $CVSROOT
-CVSROOT/
-
-
-
-
-
- Running a CVSup Client
-
-
- Verify that
- cvsup is in your path; on most systems
- you can do this by typing
-
-
-which cvsup
-
-
- Then, simply run
- cvsup using:
-
-
-cvsup -L 2 postgres.cvsup
-
-
- where enables some status messages so you
- can monitor the progress of the update,
- and postgres.cvsup is
- the path and name you have given to your
- CVSup configuration file.
-
-
-
- Here is a CVSup configuration file
- modified for a specific installation, and which maintains a full
- local CVS repository:
-
-
-# This file represents the standard CVSup distribution file
-# for the PostgreSQL> ORDBMS project
-# Modified by lockhart@fourpalms.org 1997-08-28
-# - Point to my local snapshot source tree
-# - Pull the full CVS repository, not just the latest snapshot
-#
-# Defaults that apply to all the collections
-*default host=cvsup.postgresql.org
-*default compress
-*default release=cvs
-*default delete use-rel-suffix
-# enable the following line to get the latest snapshot
-#*default tag=.
-# enable the following line to get whatever was specified above or by default
-# at the date specified below
-#*default date=97.08.29.00.00.00
-
-# base directory where CVSup will store its 'bookmarks' file(s)
-# will create subdirectory sup/
-#*default base=/opt/postgres # /usr/local/pgsql
-*default base=/home/cvs
-
-# prefix directory where CVSup will store the actual distribution(s)
-*default prefix=/home/cvs
-
-# complete distribution, including all below
-pgsql
-
-# individual distributions vs 'the whole thing'
-# pgsql-doc
-# pgsql-perl5
-# pgsql-src
-
-
-
-
- If you specify
-
-
- The following is a suggested CVSup config file from
- the PostgreSQL>
-
- ftp site
- which will fetch the current snapshot only:
-
-
-# This file represents the standard CVSup distribution file
-# for the PostgreSQL> ORDBMS project
-#
-# Defaults that apply to all the collections
-*default host=cvsup.postgresql.org
-*default compress
-*default release=cvs
-*default delete use-rel-suffix
-*default tag=.
-
-# base directory where CVSup will store its 'bookmarks' file(s)
-*default base=/usr/local/pgsql
-
-# prefix directory where CVSup will store the actual distribution(s)
-*default prefix=/usr/local/pgsql
-
-# complete distribution, including all below
-pgsql
-
-# individual distributions vs 'the whole thing'
-# pgsql-doc
-# pgsql-perl5
-# pgsql-src
-
-
-
-
-
- Installing CVSup
-
-
- CVSup is available as source, pre-built
- binaries, or Linux RPMs. It is far easier to use a binary than to
- build from source, primarily because the very capable, but
- voluminous, Modula-3 compiler is required for the build.
-
-
-
- CVSup Installation from Binaries
-
-
- You can use pre-built binaries
- if you have a platform for which binaries
- are posted on the PostgreSQL
-
- ftp site
- or if you are running FreeBSD, for which
- CVSup is available as a port.
-
-
-
- CVSup was originally developed as a
- tool for distributing the FreeBSD
- source tree. It is available as a port, and for those running
- FreeBSD, if this is not sufficient to tell how to obtain and
- install it then please contribute a procedure here.
-
-
-
-
-
- At the time of writing, binaries are available for
- Alpha/Tru64, ix86/xBSD,
- HPPA/HP-UX 10.20, MIPS/IRIX,
- ix86/linux-libc5, ix86/linux-glibc,
- Sparc/Solaris, and Sparc/SunOS.
-
-
-
-
- Retrieve the binary tar file for
- cvsup
- (cvsupd is not required
- to be a client) appropriate for your platform.
-
-
-
-
-
- If you are running FreeBSD, install the CVSup port.
-
-
-
-
-
- If you have another platform, check for and download the appropriate binary from
- the PostgreSQL
-
- ftp site.
-
-
-
-
-
-
-
- Check the tar file to verify the contents and directory
- structure, if any. For the linux tar file at least, the static binary
- and man page is included without any directory packaging.
-
-
-
-
-
- If the binary is in the top level of the tar file, then simply
- unpack the tar file into your target directory:
-
-
-cd /usr/local/bin
-tar zxvf /usr/local/src/cvsup-16.0-linux-i386.tar.gz
-mv cvsup.1 ../doc/man/man1/
-
-
-
-
-
-
- If there is a directory structure in the tar file, then unpack
- the tar file within /usr/local/src and move the binaries into
- the appropriate location as above.
-
-
-
-
-
-
-
- Ensure that the new binaries are in your path.
-
-
-$ rehash
-$ which cvsup
-$ set path=(path to cvsup $path)
-$ which cvsup
-/usr/local/bin/cvsup
-
-
-
-
-
-
-
- Installation from Sources
-
-
- Installing CVSup from sources is not
- entirely trivial, primarily because most systems will need to
- install a Modula-3 compiler first.
- This compiler is available as Linux RPM,
- FreeBSD package, or source code.
-
-
-
- A clean-source installation of Modula-3 takes roughly 200MB of disk space,
- which shrinks to roughly 50MB of space when the sources are removed.
-
-
-
-
- Linux installation
-
-
-
- Install Modula-3.
-
-
-
-
-
- Pick up the Modula-3
- distribution from
- Polytechnique Montréal
- who are actively maintaining the code base originally developed by
- the
- DEC Systems Research Center.
- The PM3RPM distribution is roughly
- 30MB compressed. At the time of writing, the 1.1.10-1 release
- installed cleanly on RH-5.2, whereas the 1.1.11-1 release is
- apparently built for another release (RH-6.0?) and does not run on RH-5.2.
-
-
-
- This particular rpm packaging has
- manyRPM files,
- so you will likely want to place them into a separate
- directory.
-
-
-
-
-
-
-
- Install the Modula-3 rpms:
-
-
-# rpm -Uvh pm3*.rpm
-
-
-
-
-
-
-
-
- Unpack the cvsup distribution:
-
-
-# cd /usr/local/src
-# tar zxf cvsup-16.0.tar.gz
-
-
-
-
-
-
- Build the cvsup distribution, suppressing the GUI interface
- feature to avoid requiring X11 libraries:
-
-
-# make M3FLAGS="-DNOGUI"
-
-
- and if you want to build a static binary to move to systems
- that may not have Modula-3 installed, try:
-
-
-# make M3FLAGS="-DNOGUI -DSTATIC"
-
-
-
-
-
-
- Install the built binary:
-
-
-# make M3FLAGS="-DNOGUI -DSTATIC" install
-
-
-
-
-
-
-
diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml
index 11345b16177..5776e53c888 100644
--- a/doc/src/sgml/filelist.sgml
+++ b/doc/src/sgml/filelist.sgml
@@ -88,12 +88,12 @@
-
+
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index 94363de3e66..95d2f80e1f1 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -284,8 +284,8 @@ su - postgres
- If you are building from a CVS tree instead of
- using a released source package, or if you want to do development,
+ If you are building from a Git tree instead of
+ using a released source package, or if you want to do server development,
you also need the following packages:
@@ -302,7 +302,7 @@ su - postgres
GNU Flex> and Bison>
- are needed to build a CVS checkout or if you changed the actual
+ are needed to build from a Git checkout, or if you changed the actual
scanner and parser definition files. If you need them, be sure
to get Flex> 2.5.4 or later and
Bison> 1.875 or later. Other yacc>
diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml
index 8099f72dd8b..3afc154a03b 100644
--- a/doc/src/sgml/postgres.sgml
+++ b/doc/src/sgml/postgres.sgml
@@ -252,7 +252,7 @@ $PostgreSQL: pgsql/doc/src/sgml/postgres.sgml,v 1.76 2005/09/12 22:11:38 neilc E
&keywords;
&features;
&release;
- &cvs;
+ &sourcerepo;
&docguide;
&external-projects;
diff --git a/doc/src/sgml/problems.sgml b/doc/src/sgml/problems.sgml
index 1b97fcb7381..f2c1be5ff18 100644
--- a/doc/src/sgml/problems.sgml
+++ b/doc/src/sgml/problems.sgml
@@ -230,8 +230,8 @@ $PostgreSQL: pgsql/doc/src/sgml/problems.sgml,v 2.24.2.1 2009/01/06 17:27:50 tgl
If the function or the options do not exist then your version is
more than old enough to warrant an upgrade.
If you run a prepackaged version, such as RPMs, say so, including any
- subversion the package may have. If you are talking about a CVS
- snapshot, mention that, including its date and time.
+ subversion the package might have. If you are talking about a Git
+ snapshot, mention that, including the commit hash.
diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index 6500bca767c..3ce643de08e 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -47,14 +47,12 @@ can be created without links to the main documentation.
A complete list of changes for each release can be obtained by
- viewing the CVS logs for each release.
+ viewing the Git logs for each release.
The pgsql-committers
email list records all source code changes as well. There is also
- a web
+ a web
interface that shows changes to specific files.
-
diff --git a/doc/src/sgml/sourcerepo.sgml b/doc/src/sgml/sourcerepo.sgml
new file mode 100644
index 00000000000..9c815a82915
--- /dev/null
+++ b/doc/src/sgml/sourcerepo.sgml
@@ -0,0 +1,93 @@
+
+
+
+ The Source Code Repository
+
+
+ The PostgreSQL source code is stored and managed using the
+ Git version control system. An public mirror of this
+ is available and updated within a minute of the master repository.
+
+
+
+ Our wiki, ,
+ has additional details on working with Git.
+
+
+
+ Note that building PostgreSQL from the source
+ repository requires reasonably up-to-date versions of bison>
+ and flex>. These tools are not needed to build from a
+ distribution tarball since their output is included in the file.
+ You will need Perl as well, but otherwise the tool requirements are the
+ same.
+
+
+
+ Getting The Source Via Git>
+
+
+ With Git> you will make a copy of the entire code repository
+ to your local machine, so you will have access to all history and branches
+ offline. This is the fastest and most flexible way to develop or test
+ patches.
+
+
+
+ Git
+
+
+
+ You will need an installed version of Git>, which you can get
+ from . Many systems also have a recent
+ version of Git> installed by default, or available in their
+ package repository system.
+
+
+
+
+
+ To being using the Git repository, make a clone of the official mirror:
+
+
+git clone git://git.postgresql.org/git/postgresql.git
+
+
+ This will copy the full repository to your local machine, so it may take
+ a while to complete, especially if you have a slow Internet connection.
+
+
+
+ The Git mirror can also be reached via the HTTP protocol in case for example
+ a firewall is blocking access to the Git protocol. Just replace the URL
+ like:
+
+
+git clone http://git.postgresql.org/git/postgresql.git
+
+
+ The HTTP protocol is less efficient than the Git protocol, so it will be
+ slower to use.
+
+
+
+
+
+ Whenever you want to get the latest updates in the system, cd>
+ into the repository, and run:
+
+
+git fetch
+
+
+
+
+
+ Git> can do a lot more things than just fetch the source. For
+ more information, consult the man pages for the product, or the website at
+ >.
+
+
+
+