*** a/doc/src/sgml/cvs.sgml
--- b/doc/src/sgml/cvs.sgml
***************
*** 23,45 ****
    <date>1999-05-20</date>
   </appendixinfo>
  
!  <title>The <productname>CVS</productname> Repository</title>
  
   <para>
    The <productname>PostgreSQL</productname> source code is stored and managed using the
!   <productname>CVS</productname> version control system.
   </para>
  
   <para>
-   At least three methods, anonymous CVS, <productname>rsync</productname>,
-   and <productname>CVSup</productname>,
-   are available to pull the <productname>CVS</productname> code tree from the
-   <productname>PostgreSQL</productname> server to your local machine. 
    Our Wiki, <ulink
!   url="http://wiki.postgresql.org/index.php/Working_with_CVS"></ulink>,
!   has additional details on working with CVS.
   </para>
  
   <sect1 id="anoncvs">
    <title>Getting The Source Via Anonymous <productname>CVS</productname></title>
  
--- 23,120 ----
    <date>1999-05-20</date>
   </appendixinfo>
  
!  <title>The Source 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>CVSup</> and <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>
  
***************
*** 92,113 **** cvs -z3 -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot co -P pgsql
       This installs the <productname>PostgreSQL</productname> sources into a
       subdirectory <filename>pgsql</filename>
       of the directory you are currently in.
- 
-      <note>
-       <para>
-        If you have a fast link to the Internet, you might not need
-        <option>-z3</option>, which instructs
-        <productname>CVS</productname> to use <command>gzip</command> compression for transferred data.  But
-        on a modem-speed link, it's a very substantial win.
-       </para>
-      </note>
      </para>
  
      <para>
       This initial checkout is a little slower than simply downloading
!      a <filename>tar.gz</filename> file; expect it to take 40 minutes or so if you
!      have a 28.8K modem.  The advantage of
!      <productname>CVS</productname>
       doesn't show up until you want to update the file set later on.
      </para>
     </step>
--- 167,177 ----
       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>
***************
*** 163,169 **** cvs update
     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>.
    </para>
  
    <para>
--- 227,234 ----
     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>
***************
*** 301,307 **** cvs commit
     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> 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>.
--- 366,373 ----
     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>.