old-www/REF/CVS-BestPractices/html/section1-chgpropagation.html

180 lines
3.5 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Change Propagation</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="CVS Best Practices"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Branching and Merging"
HREF="section1-branchmerge.html"><LINK
REL="NEXT"
TITLE="Software Builds"
HREF="section1-softwarebuild.html"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>CVS Best Practices</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="section1-branchmerge.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="section1-softwarebuild.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="section1-chgpropagation"
></A
>7. Change Propagation</H1
><P
>Change propagation practices explore how changes made to one version of
the application are migrated to other living versions of the application.
</P
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="section2-mergebugfix"
></A
>7.1. Merge branch with the trunk after release</H2
><P
>After each release from a branch, the changes made to the branch
should be merged with the trunk. This ensures that all the bug fixes made
to the patch release are properly incorporated into future releases of the
application. </P
><P
>This merge could potentially be time consuming depending on the amount
of changes made to the trunk and the branch being merged. In fact, it will
probably result in a lot of conflicts in CVS resulting in manual merges.
After the merge, the trunk code base must be tested to verify that the
application is in proper working order. This must be kept in mind while
preparing the project schedule. </P
><P
>In the case of changes occurring on branches for a long period,
these changes can be merged to the main branch on a regular basis even
before the release is made. The frequency of merge is done based on certain
logical points in the branch's evolution. To ensure that duplicate merging
does not occur, the following practice can be adopted. </P
><P
>In addition to the branch tag, a tag called {branch_name}_MERGED
should be created. This is initially at the same level as the last release
tag for the branch. This tag is then <SPAN
CLASS="QUOTE"
>"moved"</SPAN
> after each
intermediate merge by using the <B
CLASS="command"
>-F</B
> option. This
eliminates duplicate merging issues during intermediate merges. </P
></DIV
></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="section1-branchmerge.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="section1-softwarebuild.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Branching and Merging</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Software Builds</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>