|
|
|
|
@ -1,5 +1,5 @@ |
|
|
|
|
<!-- |
|
|
|
|
$PostgreSQL: pgsql/doc/src/sgml/cvs.sgml,v 1.35 2005/10/15 20:15:48 neilc Exp $ |
|
|
|
|
$PostgreSQL: pgsql/doc/src/sgml/cvs.sgml,v 1.36 2005/11/04 23:13:59 petere Exp $ |
|
|
|
|
--> |
|
|
|
|
|
|
|
|
|
<appendix id="cvs"> |
|
|
|
|
@ -64,9 +64,9 @@ $PostgreSQL: pgsql/doc/src/sgml/cvs.sgml,v 1.35 2005/10/15 20:15:48 neilc Exp $ |
|
|
|
|
<para> |
|
|
|
|
Do an initial login to the <productname>CVS</productname> server: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvs -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot login |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
You will be prompted for a password; you can enter anything except |
|
|
|
|
an empty string. |
|
|
|
|
@ -81,9 +81,9 @@ cvs -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot login |
|
|
|
|
<step> |
|
|
|
|
<para> |
|
|
|
|
Fetch the <productname>PostgreSQL</productname> sources: |
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvs -z3 -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot co -P pgsql |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
This installs the <productname>PostgreSQL</productname> sources into a |
|
|
|
|
subdirectory <filename>pgsql</filename> |
|
|
|
|
@ -113,9 +113,9 @@ cvs -z3 -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot co -P pgsql |
|
|
|
|
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> |
|
|
|
|
<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 |
|
|
|
|
@ -128,17 +128,17 @@ $ cvs -z3 update -d -P |
|
|
|
|
You can save yourself some typing by making a file <filename>.cvsrc</filename> |
|
|
|
|
in your home directory that contains |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvs -z3 |
|
|
|
|
update -d -P |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
This supplies the <option>-z3</option> option to all cvs commands, and the |
|
|
|
|
<option>-d</option> and <option>-P</option> options to cvs update. Then you just have |
|
|
|
|
to say |
|
|
|
|
<programlisting> |
|
|
|
|
$ cvs update |
|
|
|
|
</programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvs update |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
to update your files. |
|
|
|
|
</para> |
|
|
|
|
@ -150,9 +150,9 @@ $ cvs update |
|
|
|
|
Some older versions of <productname>CVS</productname> 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 |
|
|
|
|
<programlisting> |
|
|
|
|
$ chmod -R go-w pgsql |
|
|
|
|
</programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
chmod -R go-w pgsql |
|
|
|
|
</programlisting> |
|
|
|
|
to set the permissions properly. |
|
|
|
|
This bug is fixed as of |
|
|
|
|
<productname>CVS</productname> version 1.9.28. |
|
|
|
|
@ -191,9 +191,9 @@ $ chmod -R go-w pgsql |
|
|
|
|
sources that make up release 6_4 of the module `tc' at any time in the |
|
|
|
|
future: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
$ cvs checkout -r REL6_4 tc |
|
|
|
|
</programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvs checkout -r REL6_4 tc |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
This is useful, for instance, if someone claims that there is a bug in |
|
|
|
|
that release, but you cannot find the bug in the current working copy. |
|
|
|
|
@ -236,10 +236,10 @@ $ cvs checkout -r REL6_4 tc |
|
|
|
|
So, to create the 6.4 release |
|
|
|
|
I did the following: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
$ cd pgsql |
|
|
|
|
$ cvs tag -b REL6_4 |
|
|
|
|
</programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cd pgsql |
|
|
|
|
cvs tag -b REL6_4 |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
which will create the tag and the branch for the RELEASE tree. |
|
|
|
|
</para> |
|
|
|
|
@ -250,12 +250,12 @@ $ cvs tag -b REL6_4 |
|
|
|
|
First, create two subdirectories, RELEASE and CURRENT, so that you don't |
|
|
|
|
mix up the two. Then do: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cd RELEASE |
|
|
|
|
cvs checkout -P -r REL6_4 pgsql |
|
|
|
|
cd ../CURRENT |
|
|
|
|
cvs checkout -P pgsql |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
which results in two directory trees, <filename>RELEASE/pgsql</filename> and |
|
|
|
|
<filename>CURRENT/pgsql</filename>. From that point on, |
|
|
|
|
@ -273,16 +273,16 @@ cvs checkout -P pgsql |
|
|
|
|
<para> |
|
|
|
|
After you've done the initial checkout on a branch |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
$ cvs checkout -r REL6_4 |
|
|
|
|
</programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvs checkout -r REL6_4 |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
anything you do within that directory structure is restricted to that |
|
|
|
|
branch. If you apply a patch to that directory structure and do a |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvs commit |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
while inside of it, the patch is applied to the branch and |
|
|
|
|
<emphasis>only</emphasis> the branch. |
|
|
|
|
@ -333,9 +333,9 @@ cvs commit |
|
|
|
|
<filename>/opt/postgres/cvs/</filename>. If you intend to keep your |
|
|
|
|
repository in <filename>/home/cvs/</filename>, then put |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
setenv CVSROOT /home/cvs |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
in your <filename>.cshrc</filename> file, or a similar line in |
|
|
|
|
your <filename>.bashrc</filename> or |
|
|
|
|
@ -347,18 +347,18 @@ setenv CVSROOT /home/cvs |
|
|
|
|
Once <envar>CVSROOT</envar> is set, then this can be done with a |
|
|
|
|
single command: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
$ cvs init |
|
|
|
|
</programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvs init |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
after which you should see at least a directory named |
|
|
|
|
<filename>CVSROOT</filename> when listing the |
|
|
|
|
<envar>CVSROOT</envar> directory: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
$ ls $CVSROOT |
|
|
|
|
CVSROOT/ |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</sect2> |
|
|
|
|
|
|
|
|
|
@ -370,16 +370,16 @@ CVSROOT/ |
|
|
|
|
<application>cvsup</application> is in your path; on most systems |
|
|
|
|
you can do this by typing |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
which cvsup |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
Then, simply run |
|
|
|
|
<application>cvsup</application> using: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
$ cvsup -L 2 <replaceable class="parameter">postgres.cvsup</replaceable> |
|
|
|
|
</programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cvsup -L 2 <replaceable class="parameter">postgres.cvsup</replaceable> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
where <option>-L 2</option> enables some status messages so you |
|
|
|
|
can monitor the progress of the update, |
|
|
|
|
@ -393,7 +393,7 @@ $ cvsup -L 2 <replaceable class="parameter">postgres.cvsup</replaceable> |
|
|
|
|
modified for a specific installation, and which maintains a full |
|
|
|
|
local <productname>CVS</productname> repository: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
# This file represents the standard CVSup distribution file |
|
|
|
|
# for the <productname>PostgreSQL</> ORDBMS project |
|
|
|
|
# Modified by lockhart@fourpalms.org 1997-08-28 |
|
|
|
|
@ -426,8 +426,7 @@ pgsql |
|
|
|
|
# pgsql-doc |
|
|
|
|
# pgsql-perl5 |
|
|
|
|
# pgsql-src |
|
|
|
|
|
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
@ -454,7 +453,7 @@ CVSROOT/loginfo* |
|
|
|
|
ftp site</ulink> |
|
|
|
|
which will fetch the current snapshot only: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
# This file represents the standard CVSup distribution file |
|
|
|
|
# for the <productname>PostgreSQL</> ORDBMS project |
|
|
|
|
# |
|
|
|
|
@ -478,8 +477,7 @@ pgsql |
|
|
|
|
# pgsql-doc |
|
|
|
|
# pgsql-perl5 |
|
|
|
|
# pgsql-src |
|
|
|
|
|
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</sect2> |
|
|
|
|
|
|
|
|
|
@ -563,11 +561,11 @@ pgsql |
|
|
|
|
If the binary is in the top level of the tar file, then simply |
|
|
|
|
unpack the tar file into your target directory: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
$ cd /usr/local/bin |
|
|
|
|
$ tar zxvf /usr/local/src/cvsup-16.0-linux-i386.tar.gz |
|
|
|
|
$ mv cvsup.1 ../doc/man/man1/ |
|
|
|
|
</programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
cd /usr/local/bin |
|
|
|
|
tar zxvf /usr/local/src/cvsup-16.0-linux-i386.tar.gz |
|
|
|
|
mv cvsup.1 ../doc/man/man1/ |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</step> |
|
|
|
|
|
|
|
|
|
@ -585,13 +583,13 @@ $ mv cvsup.1 ../doc/man/man1/ |
|
|
|
|
<para> |
|
|
|
|
Ensure that the new binaries are in your path. |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
$ rehash |
|
|
|
|
$ which cvsup |
|
|
|
|
$ set path=(<replaceable>path to cvsup</replaceable> $path) |
|
|
|
|
$ which cvsup |
|
|
|
|
/usr/local/bin/cvsup |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</step> |
|
|
|
|
</procedure> |
|
|
|
|
@ -651,9 +649,9 @@ $ which cvsup |
|
|
|
|
<para> |
|
|
|
|
Install the Modula-3 rpms: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
# rpm -Uvh pm3*.rpm |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</step> |
|
|
|
|
</substeps> |
|
|
|
|
@ -663,10 +661,10 @@ $ which cvsup |
|
|
|
|
<para> |
|
|
|
|
Unpack the cvsup distribution: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
# cd /usr/local/src |
|
|
|
|
# tar zxf cvsup-16.0.tar.gz |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</step> |
|
|
|
|
|
|
|
|
|
@ -675,16 +673,16 @@ $ which cvsup |
|
|
|
|
Build the cvsup distribution, suppressing the GUI interface |
|
|
|
|
feature to avoid requiring X11 libraries: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
# make M3FLAGS="-DNOGUI" |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
|
|
|
|
|
and if you want to build a static binary to move to systems |
|
|
|
|
that may not have Modula-3 installed, try: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
# make M3FLAGS="-DNOGUI -DSTATIC" |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</step> |
|
|
|
|
|
|
|
|
|
@ -692,29 +690,12 @@ $ which cvsup |
|
|
|
|
<para> |
|
|
|
|
Install the built binary: |
|
|
|
|
|
|
|
|
|
<programlisting> |
|
|
|
|
<programlisting> |
|
|
|
|
# make M3FLAGS="-DNOGUI -DSTATIC" install |
|
|
|
|
</programlisting> |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</step> |
|
|
|
|
</procedure> |
|
|
|
|
</sect2> |
|
|
|
|
</sect1> |
|
|
|
|
</appendix> |
|
|
|
|
|
|
|
|
|
<!-- Keep this comment at the end of the file |
|
|
|
|
Local variables: |
|
|
|
|
mode:sgml |
|
|
|
|
sgml-omittag:nil |
|
|
|
|
sgml-shorttag:t |
|
|
|
|
sgml-minimize-attributes:nil |
|
|
|
|
sgml-always-quote-attributes:t |
|
|
|
|
sgml-indent-step:1 |
|
|
|
|
sgml-indent-data:t |
|
|
|
|
sgml-parent-document:nil |
|
|
|
|
sgml-default-dtd-file:"./reference.ced" |
|
|
|
|
sgml-exposed-tags:nil |
|
|
|
|
sgml-local-catalogs:("/usr/lib/sgml/catalog") |
|
|
|
|
sgml-local-ecat-files:nil |
|
|
|
|
End: |
|
|
|
|
--> |
|
|
|
|
|