diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile index 622aa4fe74d90645945f8e23e994fd986fc46768..a7f0c8d6340db1bc3e228b5c09c295d3170edce0 100644 --- a/doc/src/sgml/Makefile +++ b/doc/src/sgml/Makefile @@ -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. diff --git a/doc/src/sgml/acronyms.sgml b/doc/src/sgml/acronyms.sgml index 9a759d11b7018bb15bfffe247deb4fe6588c7736..c9c51fe09cb37e8b177fefd5f81b1c0daf7a4627 100644 --- a/doc/src/sgml/acronyms.sgml +++ b/doc/src/sgml/acronyms.sgml @@ -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> diff --git a/doc/src/sgml/cvs.sgml b/doc/src/sgml/cvs.sgml deleted file mode 100644 index 55de20cd8c99a3beb156c20eaa7462eef42014a6..0000000000000000000000000000000000000000 --- a/doc/src/sgml/cvs.sgml +++ /dev/null @@ -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> diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index ef86190ef527e47ebd7e620abd97a0aee8e97f6d..b107c02b02304da6cd21dc8255a5dfc8153715bf 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -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"> diff --git a/doc/src/sgml/install-win32.sgml b/doc/src/sgml/install-win32.sgml index a1fea05c6713fdf15db098a600e4480884c951fd..50c28ebdc0c17e12b6755dccd6a41cc1caab2b03 100644 --- a/doc/src/sgml/install-win32.sgml +++ b/doc/src/sgml/install-win32.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"></>. diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index e09ff1842f045659c4eb813fc429337bddb23ec9..f3659ba0dd297dc629861ce83cde1de1fe81b754 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -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 diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index 79cd44fbd13fba7ef9d1ae007429b6f661ce7c88..4d32f7db259fba3fbce1197a31547e8ab35143b8 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -258,7 +258,7 @@ &release; &contrib; &external-projects; - &cvs; + &sourcerepo; &docguide; &acronyms; diff --git a/doc/src/sgml/problems.sgml b/doc/src/sgml/problems.sgml index 06494318443800d17292e3be112c55db8359fed1..5704d3f897a02b99d5d27b8551643b87997bbf16 100644 --- a/doc/src/sgml/problems.sgml +++ b/doc/src/sgml/problems.sgml @@ -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> diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 1a1ad3d9fe95ca745957320bfde2a5284b934eee..9a1ca8f57bb6191c5a50930181a18043800400c2 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -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> diff --git a/doc/src/sgml/sourcerepo.sgml b/doc/src/sgml/sourcerepo.sgml new file mode 100644 index 0000000000000000000000000000000000000000..9c815a82915812bdefc5154d557f799a12d89043 --- /dev/null +++ b/doc/src/sgml/sourcerepo.sgml @@ -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>