Table of Contents
The PostgreSQL source code is stored and managed using the CVS version control 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.
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 http://www.nongnu.org/cvs/ (the official site with the latest version) or any GNU software archive site (often somewhat outdated). 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
-z3
, 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 -z3
option to all cvs
commands, and the
-d
and -P
options to cvs update
. Then you just have
to say
cvs update
to update your files.
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 http://www.nongnu.org/cvs/.