Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > by-pkgid > 751e76a527cc6334c21bc609d8a89538 > files > 6

cervisia-1.4.1-6mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML
><HEAD
><TITLE
>Advanced usage</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Cervisia Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Watching an annotated view of a file"
HREF="annotate.html"><LINK
REL="NEXT"
TITLE="Using watches"
HREF="watches.html"><META
HTTP-EQUIV="Content-Style-Type"
CONTENT="text/css"><META
NAME="Generator"
CONTENT="KDE DBMSS Customisation $Revision: 1.65 $"><LINK
REL="stylesheet"
HREF="common/kde-common.css"
TYPE="text/css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=iso-8859-1"><META
HTTP-EQUIV="Content-Language"
CONTENT="en"><LINK
REL="stylesheet"
HREF="common/kde-localised.css"
TYPE="text/css"
TITLE="KDE-English"><LINK
REL="stylesheet"
HREF="common/kde-default.css"
TYPE="text/css"
TITLE="KDE-Default"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#AA0000"
VLINK="#AA0055"
ALINK="#AA0000"
STYLE="font-family: sans-serif; position:absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;"
><TABLE
CLASS="navheader"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
CLASS="bulb"
><IMG
SRC="common/doctop1.png"
ALT=""
WIDTH="150"
HEIGHT="85"></TD
><TD
COLSPAN="2"
HEIGHT="85"
CLASS="headline"
><H1
><SPAN
CLASS="APPLICATION"
>Cervisia</SPAN
> Manual</H1
></TD
></TR
><TR
STYLE="background-color: #515151;"
CLASS="navrow"
><TD
ALIGN="left"
CLASS="left"
HEIGHT="25"
><A
HREF="annotate.html"
>Prev</A
></TD
><TD
ALIGN="center"
CLASS="center"
HEIGHT="25"
>&nbsp;</TD
><TD
ALIGN="right"
CLASS="right"
HEIGHT="25"
><A
HREF="watches.html"
>Next</A
></TD
></TR
><TR
><TD
COLSPAN="3"
CLASS="shadow"
><IMG
WIDTH="100%"
SRC="common/shadow.png"
ALT=""
HEIGHT="14"></TD
></TR
></TABLE
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="ADVANCEDUSAGE"
>Chapter 4. Advanced usage</A
></H1
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="TAGGINGBRANCHING"
>4.1. Tagging and branching</A
></H1
><P
>         We discuss here only the technical aspects of tagging and branching. 
         If you are only a <TT
CLASS="LITERAL"
>user</TT
>, not the administrator of
         the repository, you will probably not be confronted with the problem.
         If however you are your own administrator, you should first read about
         the non-technical problems that accompany branching, in order to get
         an impression of how time-consuming and error-prone maintaining different
         branches of a project can be. The appendix includes some references
         about this topic.
      </P
><P
>         Simple tagging is something you usually do when a release is made, so that
         you can at any time easily get back to the project state at that time.
         Tags are usually given a name consisting of the project name and the
         version number. For example, <SPAN
CLASS="APPLICATION"
>Cervisia</SPAN
> 1.0 is available under the
         tag <TT
CLASS="LITERAL"
>CERVISIA_1_0</TT
>. <SPAN
CLASS="APPLICATION"
>Cervisia</SPAN
> enforces <SPAN
CLASS="APPLICATION"
>CVS</SPAN
>'s strict
         rules about what constitutes valid tag name. It must begin with a letter
         and may contain letters, digits, hypens and underscores. 
      </P
><P
> 
         Normally, you will want to tag the whole project (although <SPAN
CLASS="APPLICATION"
>CVS</SPAN
> of course
         allows you to tag only a subset). To this end, mark the toplevel directory
         in the view and choose <SPAN
CLASS="GUIMENU"
>Advanced</SPAN
>-&gt;<SPAN
CLASS="GUIMENUITEM"
>Tag/Branch</SPAN
>. Now enter the name
         of the tag, press <B
CLASS="KEYCAP"
>Return</B
> and you are done!
      </P
><P
>         Creating a branch is not significantly more difficult: In the tag dialog,
         check the box <SPAN
CLASS="GUIBUTTON"
>Create branch with this tag</SPAN
>. You
         can also delete an existing tag: Choose <SPAN
CLASS="GUIMENU"
>Advanced</SPAN
>-&gt;<SPAN
CLASS="GUIMENUITEM"
>Delete tag</SPAN
> in the main view. 
      </P
><P
>         There are several ways to update to a certain state of the project:
         <UL
><LI
><P
>                  You can update to a certain tag. Use <SPAN
CLASS="GUIMENU"
>Advanced</SPAN
>-&gt;<SPAN
CLASS="GUIMENUITEM"
>Update to tag/date</SPAN
> for this.
                  The same procedure is used for updating to a branch. The command
                  issued by <SPAN
CLASS="APPLICATION"
>Cervisia</SPAN
> is
               </P
><P
>                  <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="90%"
><TR
><TD
><PRE
CLASS="SCREEN"
> <B
CLASS="COMMAND"
>cvs update -r <TT
CLASS="REPLACEABLE"
><I
>tag</I
></TT
></B
></PRE
></TD
></TR
></TABLE
>
               </P
></LI
><LI
><P
>                  You can update to a certain date. This may be useful if an error
                  was introduced in the project between two releases, you know
                  approximately between, and have an opinion on when that was. You
                  can go to some date by choosing <SPAN
CLASS="GUIMENU"
>Advanced</SPAN
>-&gt;<SPAN
CLASS="GUIMENUITEM"
>Update to tag/date</SPAN
> and checking the box 
                  <SPAN
CLASS="GUIBUTTON"
>Update to date</SPAN
>. In the field below, you can 
                  enter a wide variety of date formats. One possible format is
                  <TT
CLASS="LITERAL"
>yyyy-mm-dd</TT
> where <TT
CLASS="LITERAL"
>yyyy</TT
> is
                  the year, <TT
CLASS="LITERAL"
>mm</TT
> is the month (numerically) and
                  <TT
CLASS="LITERAL"
>dd</TT
> is the day. Alternatives are some english
                  phrases like <TT
CLASS="LITERAL"
>yesterday</TT
> or <TT
CLASS="LITERAL"
>2 weeks ago</TT
>.
                  When you use this option, <SPAN
CLASS="APPLICATION"
>Cervisia</SPAN
> uses the command
               </P
><P
>                  <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="90%"
><TR
><TD
><PRE
CLASS="SCREEN"
> <B
CLASS="COMMAND"
>cvs update -D <TT
CLASS="REPLACEABLE"
><I
>date</I
></TT
></B
></PRE
></TD
></TR
></TABLE
>
               </P
></LI
><LI
><P
>                  Both options above make a tag or date 'sticky', i.e. you can not
                  commit further modifications on that files (unless the tag is
                  a branch tag). In order to get back to the trunk, also known as
                  the branch with the name <TT
CLASS="LITERAL"
>HEAD</TT
>, use the menu item
                  <SPAN
CLASS="GUIMENU"
>Advanced</SPAN
>-&gt;<SPAN
CLASS="GUIMENUITEM"
>Update to HEAD</SPAN
>. This results
                  in a command
               </P
><P
>                  <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="90%"
><TR
><TD
><PRE
CLASS="SCREEN"
> <B
CLASS="COMMAND"
>cvs update <TT
CLASS="OPTION"
>-A</TT
></B
></PRE
></TD
></TR
></TABLE
>
               </P
></LI
></UL
>
      </P
><DIV
CLASS="FIGURE"
><HR><A
NAME="SCREENSHOT-UPDATETAG"
></A
><P
><B
>Figure 4-1. A screenshot of <SPAN
CLASS="APPLICATION"
>Cervisia</SPAN
>'s update to tag dialog</B
></P
><DIV
CLASS="MEDIAOBJECT"
><P
><IMG
SRC="updatetag.png"
></IMG
></P
></DIV
><HR></DIV
><P
>         Another aspect of branching is the merging of modifications from a branch to
         the current branch. If you are going to do this, choose
         <SPAN
CLASS="GUIMENU"
>Advanced</SPAN
>-&gt;<SPAN
CLASS="GUIMENUITEM"
>Merge...</SPAN
>. The dialog that appears
         now gives you two options:
      </P
><P
>         Either you may merge all modifications done on a
         branch to the current branch. In that case, check the box 
         <SPAN
CLASS="GUIBUTTON"
>Merge from branch</SPAN
> and fill in the branch you want to
         merge from. <SPAN
CLASS="APPLICATION"
>Cervisia</SPAN
> will then execute the command
      </P
><P
>         <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
> <B
CLASS="COMMAND"
>cvs update <TT
CLASS="OPTION"
>-j</TT
> <TT
CLASS="REPLACEABLE"
><I
>branchtag</I
></TT
></B
></PRE
></TD
></TR
></TABLE
>
      </P
><P
>         The other possibility is that you want to merge only the modifications made
         between two tags on a branch. This usually happens when you merge from the
         same branch to the trunk several times. In that case, check the box
         <SPAN
CLASS="GUIBUTTON"
>Merge modifications</SPAN
> and enter (in the correct order)
         the two relevant tags. This will result in a command
      </P
><P
>         <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
> <B
CLASS="COMMAND"
>cvs update <TT
CLASS="OPTION"
>-j</TT
> <TT
CLASS="REPLACEABLE"
><I
>branchtag1</I
></TT
> <TT
CLASS="OPTION"
>-j</TT
> <TT
CLASS="REPLACEABLE"
><I
>branchtag2</I
></TT
></B
></PRE
></TD
></TR
></TABLE
>
      </P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><COLGROUP
><COL
WIDTH="*"><COL
WIDTH="227"></COLGROUP
><TBODY
><TR
><TD
CLASS="end"
WIDTH="100%"
><IMG
SRC="common/bottom1.png"
ALT=""
HEIGHT="59"></TD
><TD
><A
HREF="http://www.kde.org/"
><IMG
SRC="common/bottom2.png"
ALT="KDE Logo"
WIDTH="227"
BORDER="0"
HEIGHT="59"></A
></TD
></TR
><TR
><TD
HEIGHT="50"
COLSPAN="2"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="annotate.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="watches.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Watching an annotated view of a file</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Using watches</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>