<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
<style type="text/css">
/* <![CDATA[ */ @import "/branding/css/tigris.css"; /* ]]> */
</style>
  <script src="/branding/scripts/sc.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" />

  <title>Effective version managment</title>
 </head>

 <body class="docs" onload="self.focus()">
  <div class="docs" id="projectownerversioncontrol">
   <h2><a id="Effective" name="Effective">Effective version management</a></h2>

   <div id="toc">
    <ul>
     <li><strong><a href="/nonav/servlets/HelpTOC">Help index</a></strong></li>
    </ul>

    <ul>
     <li>Editing the project home page</li>

     <li>Adding and managing project members</li>

     <li>Managing project mailing lists</li>

     <li>Managing project documentation</li>

     <li>Managing project source code</li>

     <li>Tracking project issues</li>

     <li>Managing project site content</li>

     <li>Effective version management</li>
    </ul>
   </div>

   <p>Version management is characterized by effectively tracking changes from their origin to the alteration to the project source code. Within a project, links between issues within the issue tracker (IssueZilla) and change records from the change control tool (CVS) are an effect means of managing your versions. Implementing a series of manual processes within your project will provide invaluable information throughout the life-cycle of your project. The manual process includes pasting links to CVS check-in messages in the IssueZilla issues, and supplementing these with adding the issue number to those CVS check-in messages. Further enhanced through the automatic messages generated by these two tools, the peer review process can help keep project members on track with this process.</p>

   <p>Inherent to CVS is the ability to isolate code sets for unique development cycles. When a version is tagged an identifier is required within CVS. To better coordinate the version tracking process, the CVS version identifier should be identifiable within IssueZilla. By adding the CVS version to the IssueZilla database and requiring a version in issue creation the version tracking process can be greatly enhanced. This will allow you to easily identify the status of issues for a particular version and to run queries for all issues associated with a specific version.</p>

   <h3>IssueZilla and version management</h3>

   <p>The version number in IssueZilla allows you to track releases and versions of your project. When determining your version numbers it is recommended that you associate the version in your issue tracker with the tag numbers in your change manager, CVS. Associating the numbers between the two tools simplifies the process of correlating between issues in the issue tracker and changes made in CVS. As the project owner you can set a list of version numbers in the IssueZilla database and require the version number for all new issues. Users creating new issues must assign the version number in order to commit the issue. This is especially effective when running reports. Searching your IssueZilla database for all issues associated with a particular version number is as easy as defining a query. For more information, see <a href="/nonav/docs/ProjectOwnerIssues.html#adminconfigure">Configuring IssueZilla's Administrative options</a>.</p>

   <p>Additionally, reports can be run through IssueZilla to track the progress of the version.</p>

   <h3>CVS and version management</h3>

   <p>Once you've got your issue tracker to mirror versions in CVS, you can further the change management process by requiring your members to add the issue number into any commit messages they create in CVS This can be done using several different manual process.</p>

   <ul>
    <li>members can manually add the issue number in the commit message. This is simplified in ViewCVS by a "issue number" field.</li>

    <li>Members can paste a link to the IssueZilla issue into the CVS commit message</li>

    <li>members can paste a link to a diff statement for the CVS commit into the IssueZilla issue.</li>
   </ul>

   <p>Ideally, all of these suggestions would be a regular part of your issue and commit processes.</p>

   <h3>Peer-review process and version management</h3>

   <p>When issues are created in IssueZilla an email is automatically sent to the announce mailing list. Posting links to the commit messages and/or a graphical representation of the <i>diff</i> statement in the IssueZilla issue provides a built in review process. Members of the project automatically receive the emails generated by IssueZilla and can review the issues for proper compliance with your processes and to ensure that enough relevant information has been provided. Further, when you're team is faced with similar issues finding historical information on how the issue was addressed in the past is as simple as either finding the IssueZilla number to access CVS change information or reviewing the commit messages to find the IssueZilla numbers.</p>

   <p>Emails from CVS and IssueZilla commits are archived and searchable by Author, Subject, Date and Thread.</p>

   <p>Using a combination of manual procedures as standard practices within your project can help you to maintain effective version management.</p>

   <div class="courtesylinks">
    <p><a href="#toc">Top</a> | <a href="/nonav/servlets/HelpTOC">Help index</a></p>
   </div>
  </div>
 </body>
</html>


