1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>AppendixF.The CVS Repository</title>
<link rel="stylesheet" href="stylesheet.css" type="text/css">
<link rev="made" href="pgsql-docs@postgresql.org">
<meta name="generator" content="DocBook XSL Stylesheets V1.70.0">
<link rel="start" href="index.html" title="PostgreSQL 8.1.4 Documentation">
<link rel="up" href="appendixes.html" title="PartVIII.Appendixes">
<link rel="prev" href="release-0-01.html" title="E.83.Postgres95 Release 0.01">
<link rel="next" href="cvs-tree.html" title="F.2.CVS Tree Organization">
<link rel="copyright" href="ln-legalnotice.html" title="Legal Notice">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="appendix" lang="en" id="cvs">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="cvs"></a>AppendixF.The <span class="productname">CVS</span> Repository</h2></div>
<div><div class="authorgroup">
<div class="author"><h3 class="author">
<span class="firstname">Marc</span> <span class="surname">Fournier</span>
</h3></div>
<div class="author"><h3 class="author">
<span class="firstname">Tom</span> <span class="surname">Lane</span>
</h3></div>
<div class="author"><h3 class="author">
<span class="firstname">Thomas</span> <span class="surname">Lockhart</span>
</h3></div>
</div></div>
</div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="sect1"><a href="cvs.html#anoncvs">F.1. Getting The Source Via Anonymous <span class="productname">CVS</span></a></span></dt>
<dt><span class="sect1"><a href="cvs-tree.html">F.2. <span class="productname">CVS</span> Tree Organization</a></span></dt>
<dt><span class="sect1"><a href="cvsup.html">F.3. Getting The Source Via <span class="productname">CVSup</span></a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="cvsup.html#id899222">F.3.1. Preparing A <span class="productname">CVSup</span> Client System</a></span></dt>
<dt><span class="sect2"><a href="cvsup.html#id899367">F.3.2. Running a <span class="productname">CVSup</span> Client</a></span></dt>
<dt><span class="sect2"><a href="cvsup.html#id899616">F.3.3. Installing <span class="productname">CVSup</span></a></span></dt>
<dt><span class="sect2"><a href="cvsup.html#id899823">F.3.4. Installation from Sources</a></span></dt>
</dl></dd>
</dl>
</div>
<p> The <span class="productname">PostgreSQL</span> source code is stored and managed using the
<span class="productname">CVS</span> code management system.
</p>
<p> At least two methods,
anonymous CVS and <span class="productname">CVSup</span>,
are available to pull the <span class="productname">CVS</span> code tree from the
<span class="productname">PostgreSQL</span> server to your local machine.
</p>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="anoncvs"></a>F.1.Getting The Source Via Anonymous <span class="productname">CVS</span></h2></div></div></div>
<p> If you would like to keep up with the current sources on a regular
basis, you can fetch them from our <span class="productname">CVS</span> server
and then use <span class="productname">CVS</span> to
retrieve updates from time to time.
</p>
<div class="procedure">
<a name="id898648"></a><p class="title"><b>Anonymous CVS</b></p>
<ol type="1">
<li><p> You will need a local copy of <span class="productname">CVS</span>
(Concurrent Version Control System), which you can get from
<a href="http://www.nongnu.org/cvs/" target="_top">http://www.nongnu.org/cvs/</a>
(the official site with the latest version) or any GNU software
archive site (often somewhat outdated). We recommend version 1.10
or newer. Many systems have a recent version of
<span class="application">cvs</span> installed by default.
</p></li>
<li>
<p> Do an initial login to the <span class="productname">CVS</span> server:
</p>
<pre class="programlisting">cvs -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot login</pre>
<p>
You will be prompted for a password; you can enter anything except
an empty string.
</p>
<p> You should only need to do this once, since the password will be
saved in <code class="literal">.cvspass</code> in your home directory.
</p>
</li>
<li>
<p> Fetch the <span class="productname">PostgreSQL</span> sources:
</p>
<pre class="programlisting">cvs -z3 -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot co -P pgsql</pre>
<p>
This installs the <span class="productname">PostgreSQL</span> sources into a
subdirectory <code class="filename">pgsql</code>
of the directory you are currently in.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p> If you have a fast link to the Internet, you may not need
<code class="option">-z3</code>, which instructs
<span class="productname">CVS</span> to use gzip compression for transferred data. But
on a modem-speed link, it's a very substantial win.
</p>
</div>
<p>
</p>
<p> This initial checkout is a little slower than simply downloading
a <code class="filename">tar.gz</code> file; expect it to take 40 minutes or so if you
have a 28.8K modem. The advantage of
<span class="productname">CVS</span>
doesn't show up until you want to update the file set later on.
</p>
</li>
<li>
<p> Whenever you want to update to the latest <span class="productname">CVS</span> sources,
<code class="command">cd</code> into
the <code class="filename">pgsql</code> subdirectory, and issue
</p>
<pre class="programlisting">cvs -z3 update -d -P</pre>
<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.
</p>
</li>
<li>
<p> You can save yourself some typing by making a file <code class="filename">.cvsrc</code>
in your home directory that contains
</p>
<pre class="programlisting">cvs -z3
update -d -P</pre>
<p>
This supplies the <code class="option">-z3</code> option to all cvs commands, and the
<code class="option">-d</code> and <code class="option">-P</code> options to cvs update. Then you just have
to say
</p>
<pre class="programlisting">cvs update</pre>
<p>
to update your files.
</p>
</li>
</ol>
</div>
<div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Caution</h3>
<p> Some older versions of <span class="productname">CVS</span> have a bug that
causes all checked-out files to be stored world-writable in your
directory. If you see that this has happened, you can do something like
</p>
<pre class="programlisting">chmod -R go-w pgsql</pre>
<p>
to set the permissions properly.
This bug is fixed as of
<span class="productname">CVS</span> version 1.9.28.
</p>
</div>
<p> <span class="productname">CVS</span> can do a lot of other things,
such as fetching prior revisions
of the <span class="productname">PostgreSQL</span> sources
rather than the latest development version.
For more info consult the manual that comes with
<span class="productname">CVS</span>, or see the online
documentation at
<a href="http://www.nongnu.org/cvs/" target="_top">http://www.nongnu.org/cvs/</a>.
</p>
</div>
</div></body>
</html>
|