582 lines
8.1 KiB
HTML
582 lines
8.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>CVS Best Practices</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="NEXT"
|
|
TITLE="Introduction"
|
|
HREF="section1-intro.html"></HEAD
|
|
><BODY
|
|
CLASS="article"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="ARTICLE"
|
|
><DIV
|
|
CLASS="TITLEPAGE"
|
|
><H1
|
|
CLASS="title"
|
|
><A
|
|
NAME="AEN1"
|
|
></A
|
|
>CVS Best Practices</H1
|
|
><H3
|
|
CLASS="author"
|
|
><A
|
|
NAME="AEN4"
|
|
>Vivek Venugopalan</A
|
|
></H3
|
|
><DIV
|
|
CLASS="affiliation"
|
|
><DIV
|
|
CLASS="address"
|
|
><P
|
|
CLASS="address"
|
|
><TT
|
|
CLASS="email"
|
|
><<A
|
|
HREF="mailto:vivekv at yahoo dot com"
|
|
>vivekv at yahoo dot com</A
|
|
>></TT
|
|
></P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="revhistory"
|
|
><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TH
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
COLSPAN="3"
|
|
><B
|
|
>Revision History</B
|
|
></TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.7</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>2005-10-15</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: vv</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>A bunch of minor fixes as suggested by readers.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.6</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>2002-09-10</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: vv</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Added content related to tagging and daily builds. Changed
|
|
Linuxdoc URLs to tldp. Fixed stale links and added other corrections
|
|
suggested by readers.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.5</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>2002-08-25</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: vv</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Fixed some more errors in the document and added references to
|
|
other CVS sources and some server side scripting</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.4</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>2002-03-10</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: vv</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Added new email address, Added an example flow to show how the
|
|
practices help</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.3</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>2001-12-06</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: vv</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Grammatical errors cleanup</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.2</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>2001-11-27</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: vv</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Incorporated first round of feedback and
|
|
some minor fixes</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.1</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>2001-11-20</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: vv</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Created</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><HR></DIV
|
|
><DIV
|
|
CLASS="TOC"
|
|
><DL
|
|
><DT
|
|
><B
|
|
>Table of Contents</B
|
|
></DT
|
|
><DT
|
|
>1. <A
|
|
HREF="section1-intro.html"
|
|
>Introduction</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>1.1. <A
|
|
HREF="section1-intro.html#copyright"
|
|
>Copyright Information</A
|
|
></DT
|
|
><DT
|
|
>1.2. <A
|
|
HREF="section1-intro.html#disclaimer"
|
|
>Disclaimer</A
|
|
></DT
|
|
><DT
|
|
>1.3. <A
|
|
HREF="section1-intro.html#newversions"
|
|
>New Versions</A
|
|
></DT
|
|
><DT
|
|
>1.4. <A
|
|
HREF="section1-intro.html#credits"
|
|
>Credits</A
|
|
></DT
|
|
><DT
|
|
>1.5. <A
|
|
HREF="section1-intro.html#feedback"
|
|
>Feedback</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>2. <A
|
|
HREF="section1-focusareas.html"
|
|
>Focus Areas</A
|
|
></DT
|
|
><DT
|
|
>3. <A
|
|
HREF="section1-guitools.html"
|
|
>Using <SPAN
|
|
CLASS="acronym"
|
|
>GUI</SPAN
|
|
> Tools</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>3.1. <A
|
|
HREF="section1-guitools.html#section2-useguiclient"
|
|
>Use GUI CVS client</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>4. <A
|
|
HREF="section1-devsandbox.html"
|
|
>Developer Sandbox</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>4.1. <A
|
|
HREF="section1-devsandbox.html#section2-clockinsync"
|
|
>Keep System clocks in Sync</A
|
|
></DT
|
|
><DT
|
|
>4.2. <A
|
|
HREF="section1-devsandbox.html#section2-dontshare"
|
|
>Do not share the sandbox</A
|
|
></DT
|
|
><DT
|
|
>4.3. <A
|
|
HREF="section1-devsandbox.html#section2-syncup"
|
|
>Stay in sync with the repository</A
|
|
></DT
|
|
><DT
|
|
>4.4. <A
|
|
HREF="section1-devsandbox.html#section2-workinside"
|
|
>Do not work outside the sandbox</A
|
|
></DT
|
|
><DT
|
|
>4.5. <A
|
|
HREF="section1-devsandbox.html#section2-cleanupatcompletion"
|
|
>Cleanup after Completion</A
|
|
></DT
|
|
><DT
|
|
>4.6. <A
|
|
HREF="section1-devsandbox.html#section2-checkin"
|
|
>Check-in Often</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>5. <A
|
|
HREF="section1-serverconfig.html"
|
|
>CVS Server Configuration</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>5.1. <A
|
|
HREF="section1-serverconfig.html#section2-accesscontrol"
|
|
>CVS access control</A
|
|
></DT
|
|
><DT
|
|
>5.2. <A
|
|
HREF="section1-serverconfig.html#section2-scripting"
|
|
>Server side scripting</A
|
|
></DT
|
|
><DT
|
|
>5.3. <A
|
|
HREF="section1-serverconfig.html#section2-notification"
|
|
>Server Notification</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>6. <A
|
|
HREF="section1-branchmerge.html"
|
|
>Branching and Merging</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>6.1. <A
|
|
HREF="section1-branchmerge.html#section2-branchowner"
|
|
>Assign ownership to Trunk and Branches</A
|
|
></DT
|
|
><DT
|
|
>6.2. <A
|
|
HREF="section1-branchmerge.html#section2-tagrelease"
|
|
>Tag each release</A
|
|
></DT
|
|
><DT
|
|
>6.3. <A
|
|
HREF="section1-branchmerge.html#section2-branchatrelease"
|
|
>Create a branch after each release</A
|
|
></DT
|
|
><DT
|
|
>6.4. <A
|
|
HREF="section1-branchmerge.html#section2-bugfixbranches"
|
|
>Make bug fixes to branches only</A
|
|
></DT
|
|
><DT
|
|
>6.5. <A
|
|
HREF="section1-branchmerge.html#section2-patchesfrombranches"
|
|
>Make patch releases from branches only</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>7. <A
|
|
HREF="section1-chgpropagation.html"
|
|
>Change Propagation</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>7.1. <A
|
|
HREF="section1-chgpropagation.html#section2-mergebugfix"
|
|
>Merge branch with the trunk after release</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>8. <A
|
|
HREF="section1-softwarebuild.html"
|
|
>Software Builds</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>8.1. <A
|
|
HREF="section1-softwarebuild.html#section2-bebo"
|
|
>Build Early and Build Often (<SPAN
|
|
CLASS="acronym"
|
|
>BEBO</SPAN
|
|
>)</A
|
|
></DT
|
|
><DT
|
|
>8.2. <A
|
|
HREF="section1-softwarebuild.html#section2-automate"
|
|
>Automate build Process completely</A
|
|
></DT
|
|
><DT
|
|
>8.3. <A
|
|
HREF="section1-softwarebuild.html#section2-ensurecheckin"
|
|
>All necessary files must be checked-in before build</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>9. <A
|
|
HREF="section1-instprocess.html"
|
|
>Institutionalize CVS in the Organization</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>9.1. <A
|
|
HREF="section1-instprocess.html#section2-chngmgmt"
|
|
>Implement Change Management Process</A
|
|
></DT
|
|
><DT
|
|
>9.2. <A
|
|
HREF="section1-instprocess.html#section2-objectives"
|
|
>Make CVS Usage part of Objectives</A
|
|
></DT
|
|
><DT
|
|
>9.3. <A
|
|
HREF="section1-instprocess.html#section2-metrics"
|
|
>Collect metrics on CVS usage</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>10. <A
|
|
HREF="section1-inaction.html"
|
|
>Best Practices in Action</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>10.1. <A
|
|
HREF="section1-inaction.html#section2-inception"
|
|
>Inception</A
|
|
></DT
|
|
><DT
|
|
>10.2. <A
|
|
HREF="section1-inaction.html#section2-dand"
|
|
>Development and Delivery</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>11. <A
|
|
HREF="section1-conclusion.html"
|
|
>Conclusion</A
|
|
></DT
|
|
><DT
|
|
>A. <A
|
|
HREF="gfdl.html"
|
|
>GNU Free Documentation License</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>0. <A
|
|
HREF="x435.html"
|
|
>Preamble</A
|
|
></DT
|
|
><DT
|
|
>1. <A
|
|
HREF="x440.html"
|
|
>Applicability and Definitions</A
|
|
></DT
|
|
><DT
|
|
>2. <A
|
|
HREF="x450.html"
|
|
>Verbatim Copying</A
|
|
></DT
|
|
><DT
|
|
>3. <A
|
|
HREF="x454.html"
|
|
>Copying in Quantity</A
|
|
></DT
|
|
><DT
|
|
>4. <A
|
|
HREF="x460.html"
|
|
>Modifications</A
|
|
></DT
|
|
><DT
|
|
>5. <A
|
|
HREF="x496.html"
|
|
>Combining Documents</A
|
|
></DT
|
|
><DT
|
|
>6. <A
|
|
HREF="x501.html"
|
|
>Collections of Documents</A
|
|
></DT
|
|
><DT
|
|
>7. <A
|
|
HREF="x505.html"
|
|
>Aggregation with Independent Works</A
|
|
></DT
|
|
><DT
|
|
>8. <A
|
|
HREF="x509.html"
|
|
>Translation</A
|
|
></DT
|
|
><DT
|
|
>9. <A
|
|
HREF="x512.html"
|
|
>Termination</A
|
|
></DT
|
|
><DT
|
|
>10. <A
|
|
HREF="x515.html"
|
|
>Future Revisions of this License</A
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="x520.html"
|
|
>How to use this License for your documents</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
></DL
|
|
></DIV
|
|
><BLOCKQUOTE
|
|
CLASS="ABSTRACT"
|
|
><DIV
|
|
CLASS="abstract"
|
|
><A
|
|
NAME="AEN46"
|
|
></A
|
|
><P
|
|
></P
|
|
><P
|
|
>This article explores some of the best practices that can be adopted
|
|
while using CVS as the configuration management tool in your software
|
|
projects.
|
|
</P
|
|
><P
|
|
></P
|
|
></DIV
|
|
></BLOCKQUOTE
|
|
></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"
|
|
> </TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="section1-intro.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Introduction</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |