<!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><a href="/nonav/docs/ProjectOwnerEdit.html">Editing and maintaining the project home page</a></li>
    
      <li><a href="/nonav/docs/ProjectOwnerNews.html">Managing project site news</a></li>
    
      <li><a href="/nonav/docs/ProjectOwnerMembers.html">Adding project members and approving roles</a></li>
    
      <li><a href="/nonav/docs/ProjectOwnerMailingLists.html">Configuring and managing project mailing lists</a></li>
    
      <li><a href="/nonav/docs/ProjectOwnerDocuments.html">Managing project documentation</a></li>
    
      <li><a href="/nonav/docs/ProjectOwnerSource.html">Managing project source code</a></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>


