cvs_docs.patch
application/octet-stream
Patch
Format: context
| File | + | − |
|---|---|---|
| doc/src/sgml/cvs.sgml | 88 | 8 |
*** 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>.