Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-testing > by-pkgid > bab02a23fa9f3df8d66a9a3231b50245 > files > 119

postgresql8.3-docs-8.3.6-2mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>CVS Tree Organization</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 8.3.6 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="The CVS Repository"
HREF="cvs.html"><LINK
REL="PREVIOUS"
TITLE="Getting The Source Via Anonymous CVS"
HREF="anoncvs.html"><LINK
REL="NEXT"
TITLE="Getting The Source Via rsync"
HREF="rsync.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2009-02-03T04:34:16"></HEAD
><BODY
CLASS="SECT1"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
>PostgreSQL 8.3.6 Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="anoncvs.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="cvs.html"
>Fast Backward</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
>Appendix H. The <SPAN
CLASS="PRODUCTNAME"
>CVS</SPAN
> Repository</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="top"
><A
HREF="cvs.html"
>Fast Forward</A
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="top"
><A
HREF="rsync.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="CVS-TREE"
>H.2. <SPAN
CLASS="PRODUCTNAME"
>CVS</SPAN
> Tree Organization</A
></H1
><P
>   </P><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Author: </B
>     Written by Marc G. Fournier (<CODE
CLASS="EMAIL"
>&#60;<A
HREF="mailto:scrappy@hub.org"
>scrappy@hub.org</A
>&#62;</CODE
>) on 1998-11-05
    </P
></BLOCKQUOTE
></DIV
><P>
  </P
><P
>   The command <TT
CLASS="COMMAND"
>cvs checkout</TT
> has a flag, <TT
CLASS="OPTION"
>-r</TT
>,
   that lets you check out a
   certain revision of a module.  This flag makes it easy to, for example,
   retrieve the
   sources that make up release 6_4 of the module `tc' at any time in the
   future:

</P><PRE
CLASS="PROGRAMLISTING"
>cvs checkout -r REL6_4 tc</PRE
><P>

   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.

   <DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
>     You can also check out a module as it was at any given date using the
     <TT
CLASS="OPTION"
>-D</TT
> option.
    </P
></BLOCKQUOTE
></DIV
>
  </P
><P
>   When you tag more than one file with the same tag you can think
   about the tag as <SPAN
CLASS="QUOTE"
>"a curve drawn through a matrix of file name vs.
   revision number"</SPAN
>.  Say we have 5 files with the following revisions:

   </P><PRE
CLASS="PROGRAMLISTING"
>             file1   file2   file3   file4   file5

             1.1     1.1     1.1     1.1  /--1.1*      &lt;-*-  TAG
             1.2*-   1.2     1.2    -1.2*-
             1.3  \- 1.3*-   1.3   / 1.3
             1.4          \  1.4  /  1.4
                           \-1.5*-   1.5
                             1.6
   </PRE
><P>

   then the tag <TT
CLASS="LITERAL"
>TAG</TT
> will reference
   file1-1.2, file2-1.3, etc.

   </P><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
>     For creating a release branch, other than a
     <TT
CLASS="LITERAL"
>-b</TT
> option added to the command, it's the same thing.</P
></BLOCKQUOTE
></DIV
><P>
  </P
><P
>   So, to create the 6.4 release
   I did the following:

</P><PRE
CLASS="PROGRAMLISTING"
>cd pgsql
cvs tag -b REL6_4</PRE
><P>

   which will create the tag and the branch for the RELEASE tree.
  </P
><P
>   For those with <SPAN
CLASS="PRODUCTNAME"
>CVS</SPAN
> access, it's simple to
   create directories for different versions.
   First, create two subdirectories, RELEASE and CURRENT, so that you don't
   mix up the two.  Then do:

</P><PRE
CLASS="PROGRAMLISTING"
>cd RELEASE
cvs checkout -P -r REL6_4 pgsql
cd ../CURRENT
cvs checkout -P pgsql</PRE
><P>

   which results in two directory trees, <TT
CLASS="FILENAME"
>RELEASE/pgsql</TT
> and
   <TT
CLASS="FILENAME"
>CURRENT/pgsql</TT
>. From that point on,
   <SPAN
CLASS="PRODUCTNAME"
>CVS</SPAN
>
   will keep track of which repository branch is in which directory tree, and will
   allow independent updates of either tree.
  </P
><P
>   If you are <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>only</I
></SPAN
> working on the <TT
CLASS="LITERAL"
>CURRENT</TT
>
   source tree, you just do
   everything as before we started tagging release branches.
  </P
><P
>   After you've done the initial checkout on a branch:

</P><PRE
CLASS="PROGRAMLISTING"
>cvs checkout -r REL6_4</PRE
><P>

   anything you do within that directory structure is restricted to that
   branch.  If you apply a patch to that directory structure and do a:

</P><PRE
CLASS="PROGRAMLISTING"
>cvs commit</PRE
><P>

   while inside of it, the patch is applied to the branch and
   <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>only</I
></SPAN
> the branch.
  </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="anoncvs.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="rsync.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Getting The Source Via Anonymous <SPAN
CLASS="PRODUCTNAME"
>CVS</SPAN
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="cvs.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Getting The Source Via <SPAN
CLASS="PRODUCTNAME"
>rsync</SPAN
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>