mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-18 18:44:06 +08:00
Remove anonymous cvs instructions, and replace them with instructions
for git. Change other references from cvs to git as well.
This commit is contained in:
parent
fe9b36fd59
commit
726f9ddcd1
@ -8,7 +8,7 @@
|
||||
|
||||
# This makefile is for building and installing the documentation.
|
||||
# When a release tarball is created, the documentation files are
|
||||
# prepared using the distprep target. In CVS-based trees these files
|
||||
# prepared using the distprep target. In Git-based trees these files
|
||||
# don't exist, unless explicitly built, so we skip the installation in
|
||||
# that case.
|
||||
|
||||
|
@ -292,7 +292,7 @@
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink
|
||||
url="http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/README.HOT">Heap-Only
|
||||
url="http://git.postgresql.org/gitweb?p=postgresql.git;a=blob;f=src/backend/access/heap/README.HOT;hb=HEAD">Heap-Only
|
||||
Tuples</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -1,271 +0,0 @@
|
||||
<!-- doc/src/sgml/cvs.sgml -->
|
||||
|
||||
<appendix id="cvs">
|
||||
<appendixinfo>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Marc</firstname>
|
||||
<surname>Fournier</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Lane</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>Thomas</firstname>
|
||||
<surname>Lockhart</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>David</firstname>
|
||||
<surname>Fetter</surname>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<date>1999-05-20</date>
|
||||
</appendixinfo>
|
||||
|
||||
<title>The Source Code Repository</title>
|
||||
|
||||
<para>
|
||||
The <productname>PostgreSQL</productname> source code is stored and managed using the
|
||||
<productname>CVS</productname> version control system. An official mirror using
|
||||
<productname>Git</productname> is also available, for those who wish to use a
|
||||
distributed version control system. This mirror is automatically
|
||||
updated whenever the main repository changes, so it always contains the latest
|
||||
versions of all branches.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Using <productname>Git</> is the most flexible way to work with the source, and it
|
||||
allows you to work offline without having constant access to the project servers.
|
||||
<productname>rsync</> based <productname>CVS</> also lets you work offline, but
|
||||
lacks many of the other advantages of <productname>Git</>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Our wiki, <ulink
|
||||
url="http://wiki.postgresql.org/wiki/Working_with_CVS"></ulink> and
|
||||
<ulink url="http://wiki.postgresql.org/wiki/Working_with_Git"></ulink>,
|
||||
has additional details on working with CVS and Git.
|
||||
</para>
|
||||
|
||||
<sect1 id="git">
|
||||
<title>Getting The Source Via <productname>Git</></title>
|
||||
|
||||
<para>
|
||||
With <productname>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.
|
||||
</para>
|
||||
|
||||
<procedure>
|
||||
<title>Git</title>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
You will need an installed version of <productname>Git</>, which you can get
|
||||
from <ulink url="http://git-scm.com"></ulink>. Many systems also have a recent
|
||||
version of <application>Git</> installed by default, or available in their
|
||||
package repository system.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
To being using the Git repository, make a clone of the official mirror:
|
||||
|
||||
<programlisting>
|
||||
git clone git://git.postgresql.org/git/postgresql.git
|
||||
</programlisting>
|
||||
|
||||
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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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:
|
||||
|
||||
<programlisting>
|
||||
git clone http://git.postgresql.org/git/postgresql.git
|
||||
</programlisting>
|
||||
|
||||
The HTTP protocol is less efficient than the Git protocol, so it will be
|
||||
slightly slower to use.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
Whenever you want to get the latest updates in the system, <command>cd</>
|
||||
into the repository, and run:
|
||||
|
||||
<programlisting>
|
||||
git fetch
|
||||
</programlisting>
|
||||
</para>
|
||||
</step>
|
||||
</procedure>
|
||||
<para>
|
||||
<productname>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
|
||||
<ulink url="http://git-scm.com"></>.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="anoncvs">
|
||||
<title>Getting The Source Via Anonymous <productname>CVS</productname></title>
|
||||
|
||||
<para>
|
||||
If you would like to keep up with the current sources on a regular
|
||||
basis, you can fetch them from our <productname>CVS</productname> server
|
||||
and then use <productname>CVS</productname> to
|
||||
retrieve updates from time to time.
|
||||
</para>
|
||||
|
||||
<procedure>
|
||||
<title>Anonymous CVS</title>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
You will need a local copy of <productname>CVS</productname>
|
||||
(Concurrent Version Control System), which you can get from
|
||||
<ulink url="http://www.nongnu.org/cvs/"></ulink> (the official
|
||||
site with the latest version) or any GNU software archive site
|
||||
(often somewhat outdated). Many systems have a recent version of
|
||||
<application>cvs</application> installed by default.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
Do an initial login to the <productname>CVS</productname> server:
|
||||
|
||||
<programlisting>
|
||||
cvs -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot login
|
||||
</programlisting>
|
||||
|
||||
You will be prompted for a password; you can enter anything except
|
||||
an empty string.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You should only need to do this once, since the password will be
|
||||
saved in <filename>.cvspass</filename> in your home directory.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
Fetch the <productname>PostgreSQL</productname> sources:
|
||||
<programlisting>
|
||||
cvs -z3 -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot co -P pgsql
|
||||
</programlisting>
|
||||
|
||||
This installs the <productname>PostgreSQL</productname> sources into a
|
||||
subdirectory <filename>pgsql</filename>
|
||||
of the directory you are currently in.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This initial checkout is a little slower than simply downloading
|
||||
a <filename>tar.gz</filename> file. The advantage of <productname>CVS</>
|
||||
doesn't show up until you want to update the file set later on.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
Whenever you want to update to the latest <productname>CVS</productname> sources,
|
||||
<command>cd</command> into
|
||||
the <filename>pgsql</filename> subdirectory, and issue:
|
||||
<programlisting>
|
||||
cvs -z3 update -d -P
|
||||
</programlisting>
|
||||
|
||||
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.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
You can save yourself some typing by making a file <filename>.cvsrc</filename>
|
||||
in your home directory that contains:
|
||||
|
||||
<programlisting>
|
||||
cvs -z3
|
||||
update -d -P
|
||||
</programlisting>
|
||||
|
||||
This supplies the <option>-z3</option> option to all <command>cvs</> commands, and the
|
||||
<option>-d</option> and <option>-P</option> options to <command>cvs update</>. Then you just have
|
||||
to say:
|
||||
<programlisting>
|
||||
cvs update
|
||||
</programlisting>
|
||||
|
||||
to update your files.
|
||||
</para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<para>
|
||||
<productname>CVS</productname> can do a lot of other things, such
|
||||
as fetching prior revisions of the
|
||||
<productname>PostgreSQL</productname> sources rather than the
|
||||
latest development version. For more info consult the manual that
|
||||
comes with <productname>CVS</productname>, or see the online
|
||||
documentation at <ulink url="http://www.nongnu.org/cvs/"></ulink>.
|
||||
</para>
|
||||
<para>
|
||||
<productname>CVS</productname> has deficiencies. For example,
|
||||
generating diffs that add or remove files requires write access to the
|
||||
CVS repository. To work around that deficiency, use
|
||||
<productname>cvsutils</productname>, which is packaged in several
|
||||
operating systems, and is available in source form at <ulink
|
||||
url="http://www.red-bean.com/cvsutils/"></ulink>, or use <productname>Git</>
|
||||
or another system designed to work offline.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Note that building <productname>PostgreSQL</productname> from a CVS
|
||||
pull requires reasonably up-to-date versions of <application>bison</>
|
||||
and <application>flex</>, which are not needed to build from a distribution
|
||||
tarball because the files made with them are pre-built in a tarball.
|
||||
You will need Perl as well.
|
||||
Otherwise the tool requirements are the same as building from source.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="rsync">
|
||||
<title>Getting The Source Via <productname>rsync</productname></title>
|
||||
|
||||
<para>
|
||||
An alternative to using anonymous CVS for retrieving the
|
||||
<productname>PostgreSQL</productname> source tree is
|
||||
<productname>rsync</productname>, an incremental file transfer tool.
|
||||
A major advantage to using <productname>rsync</productname> instead of
|
||||
plain <productname>cvs</> is that it
|
||||
can reliably replicate the <emphasis>entire</emphasis> CVS repository
|
||||
on your local system, allowing fast local access to <command>cvs</>
|
||||
operations such as <option>log</option> and <option>diff</option>.
|
||||
Other advantages include fast synchronization to the
|
||||
<productname>PostgreSQL</productname> server due to an efficient
|
||||
streaming transfer protocol which only sends the changes since the last
|
||||
update.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You can download the CVS repository using this command:
|
||||
<programlisting>
|
||||
rsync -avzH --delete anoncvs.postgresql.org::pgsql-cvs cvsroot/
|
||||
</programlisting>
|
||||
For full instructions, see the "rsync" section in the
|
||||
<ulink url="http://pgfoundry.org/docman/view.php/1000040/4/PGBuildFarm-HOWTO.txt">
|
||||
PostgreSQL Build Farm instructions</ulink>.
|
||||
</para>
|
||||
</sect1>
|
||||
</appendix>
|
@ -137,12 +137,12 @@
|
||||
|
||||
<!-- appendixes -->
|
||||
<!entity contacts SYSTEM "contacts.sgml">
|
||||
<!entity cvs SYSTEM "cvs.sgml">
|
||||
<!entity datetime SYSTEM "datetime.sgml">
|
||||
<!entity docguide SYSTEM "docguide.sgml">
|
||||
<!entity errcodes SYSTEM "errcodes.sgml">
|
||||
<!entity features SYSTEM "features.sgml">
|
||||
<!entity keywords SYSTEM "keywords.sgml">
|
||||
<!entity sourcerepo SYSTEM "sourcerepo.sgml">
|
||||
|
||||
<!entity release SYSTEM "release.sgml">
|
||||
<!entity release-9.1 SYSTEM "release-9.1.sgml">
|
||||
|
@ -176,7 +176,7 @@ $ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';
|
||||
<term><productname>Bison</productname> and
|
||||
<productname>Flex</productname></term>
|
||||
<listitem><para>
|
||||
Bison and Flex are required to build from CVS, but not required when
|
||||
Bison and Flex are required to build from Git, but not required when
|
||||
building from a release file. Note that only Bison 1.875 or versions
|
||||
2.2 and later will work. Also, Flex version 2.5.31 or later is required.
|
||||
Bison can be downloaded from <ulink url="http://gnuwin32.sourceforge.net"></>.
|
||||
|
@ -274,7 +274,7 @@ su - postgres
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you are building from a <acronym>CVS</acronym> tree instead of
|
||||
If you are building from a <productname>Git</productname> tree instead of
|
||||
using a released source package, or if you want to do server development,
|
||||
you also need the following packages:
|
||||
|
||||
@ -295,7 +295,7 @@ su - postgres
|
||||
</indexterm>
|
||||
|
||||
GNU <application>Flex</> and <application>Bison</>
|
||||
are needed to build from 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 <application>Flex</> 2.5.31 or later and
|
||||
<application>Bison</> 1.875 or later. Other <application>lex</>
|
||||
@ -308,7 +308,7 @@ su - postgres
|
||||
<primary>perl</primary>
|
||||
</indexterm>
|
||||
|
||||
<application>Perl</> 5.8 or later is needed to build from a CVS checkout,
|
||||
<application>Perl</> 5.8 or later is needed to build from a Git checkout,
|
||||
or if you changed the input files for any of the build steps that
|
||||
use Perl scripts. If building on Windows you will need
|
||||
<application>Perl</> in any case.
|
||||
@ -361,7 +361,7 @@ su - postgres
|
||||
|
||||
<para>
|
||||
You can also get the source directly from the version control repository, see
|
||||
<xref linkend="cvs">.
|
||||
<xref linkend="sourcerepo">.
|
||||
</para>
|
||||
</sect1>
|
||||
]]>
|
||||
@ -2562,7 +2562,7 @@ make MAX_CONNECTIONS=5 check
|
||||
<para>
|
||||
Aside from the PostgreSQL source distribution, you will need GNU
|
||||
make (HP's make will not do), and either GCC or HP's full ANSI C
|
||||
compiler. If you intend to build from CVS sources rather than a
|
||||
compiler. If you intend to build from Git sources rather than a
|
||||
distribution tarball, you will also need Flex (GNU lex) and Bison
|
||||
(GNU yacc). We also recommend making sure you are fairly
|
||||
up-to-date on HP patches. At a minimum, if you are building 64
|
||||
|
@ -258,7 +258,7 @@
|
||||
&release;
|
||||
&contrib;
|
||||
&external-projects;
|
||||
&cvs;
|
||||
&sourcerepo;
|
||||
&docguide;
|
||||
&acronyms;
|
||||
|
||||
|
@ -228,8 +228,8 @@
|
||||
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 might 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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -49,14 +49,12 @@ can be created without links to the main documentation. Don't use <xref>.
|
||||
|
||||
<para>
|
||||
A complete list of changes for each release can be obtained by
|
||||
viewing the <link linkend="cvs">CVS</link> logs for each release.
|
||||
viewing the <link linkend="git">Git</link> logs for each release.
|
||||
The <ulink
|
||||
url="http://archives.postgresql.org/pgsql-committers/"><literal>pgsql-committers</literal>
|
||||
email list</ulink> records all source code changes as well. There is also
|
||||
a <ulink url="http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/">web
|
||||
a <ulink url="http://git.postgresql.org/gitweb?p=postgresql.git;a=summary">web
|
||||
interface</ulink> that shows changes to specific files.
|
||||
<!-- we need a file containing the CVS logs for each release, and something
|
||||
like the SVN web interface that groups commits but has branches -->
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
93
doc/src/sgml/sourcerepo.sgml
Normal file
93
doc/src/sgml/sourcerepo.sgml
Normal file
@ -0,0 +1,93 @@
|
||||
<!-- doc/src/sgml/sourcerepo.sgml -->
|
||||
|
||||
<appendix id="sourcerepo">
|
||||
<title>The Source Code Repository</title>
|
||||
|
||||
<para>
|
||||
The <productname>PostgreSQL</productname> source code is stored and managed using the
|
||||
<productname>Git</productname> version control system. An public mirror of this
|
||||
is available and updated within a minute of the master repository.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Our wiki, <ulink
|
||||
url="http://wiki.postgresql.org/wiki/Working_with_Git"></ulink>,
|
||||
has additional details on working with Git.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Note that building <productname>PostgreSQL</productname> from the source
|
||||
repository requires reasonably up-to-date versions of <application>bison</>
|
||||
and <application>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.
|
||||
</para>
|
||||
|
||||
<sect1 id="git">
|
||||
<title>Getting The Source Via <productname>Git</></title>
|
||||
|
||||
<para>
|
||||
With <productname>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.
|
||||
</para>
|
||||
|
||||
<procedure>
|
||||
<title>Git</title>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
You will need an installed version of <productname>Git</>, which you can get
|
||||
from <ulink url="http://git-scm.com"></ulink>. Many systems also have a recent
|
||||
version of <application>Git</> installed by default, or available in their
|
||||
package repository system.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
To being using the Git repository, make a clone of the official mirror:
|
||||
|
||||
<programlisting>
|
||||
git clone git://git.postgresql.org/git/postgresql.git
|
||||
</programlisting>
|
||||
|
||||
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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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:
|
||||
|
||||
<programlisting>
|
||||
git clone http://git.postgresql.org/git/postgresql.git
|
||||
</programlisting>
|
||||
|
||||
The HTTP protocol is less efficient than the Git protocol, so it will be
|
||||
slower to use.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>
|
||||
Whenever you want to get the latest updates in the system, <command>cd</>
|
||||
into the repository, and run:
|
||||
|
||||
<programlisting>
|
||||
git fetch
|
||||
</programlisting>
|
||||
</para>
|
||||
</step>
|
||||
</procedure>
|
||||
<para>
|
||||
<productname>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
|
||||
<ulink url="http://git-scm.com"></>.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
</appendix>
|
Loading…
Reference in New Issue
Block a user